以百度举例
//打开浏览器
chromeDriver=new ChromeDriver();
//访问baidu
chromeDriver.get(“http://www.baidu.com”);
一、基本元素定位
1、id定位
chromeDriver.findElement(By.id(“kw”)).sendKeys(“测试”);
2、name定位
chromeDriver.findElement(By.name(“wd”)).sendKeys(“测试”);
3、tagName
找到的元素是多个,不推荐使用
chromeDriver.findElement(By.tagName(“input”)).sendKeys(“测试”);
4、className
当遇到复合类名时,仅使用类名的其中一个且该类名在页面中是唯一的。
chromeDriver.findElement(By.className(“s_ipt”)).sendKeys(“测试”);
5、linkText(根据超链接的文本值获取元素)
chromeDriver.findElement(By.linkText(“新闻”)).click();
6、partialLinkText(根据超链接的部分文本值获取元素)
chromeDriver.findElement(By.partialLinkText(“新”)).click();
二、cssSelector定位
1、tagName
chromeDriver.findElement(By.cssSelector(“input”)).sendKeys(“测试”);;
2、id
chromeDriver.findElement(By.cssSelector("#kw")).sendKeys(“测试”);
3、className
(1)仅一个类名
chromeDriver.findElement(By.cssSelector(".s_ipt")).sendKeys(“测试”);
(2)复合类名
类名之间用“.”隔开
chromeDriver.findElement(By.cssSelector(".bg.s_btn")).click()
4、css精确定位
(1)一个属性定位:By.cssSelector(“标签名[属性名=‘属性值’]”);
chromeDriver.findElement(By.cssSelector(“input[maxlength=‘255’]”)).sendKeys(“测试”);
(2)多个属性定位:By.cssSelector(“标签名[属性1=‘属性值’][属性2='属性值’]”);
chromeDriver.findElement(By.cssSelector(“input[maxlength=‘255’][autocomplete=‘off’]”)).sendKeys(“测试”);
三、xpath元素定位
1、绝对定位
从跟开始找–/(根目录)
2、相对路径
//*[name=‘phone’]
//匹配指定节点,不考虑位置
*匹配任意元素节点,通配符
@选取属性
[]属性判断条件表达式
(1)一个属性定位
chromeDriver.findElement(By.xpath("//input[@maxlength=‘255’]")).sendKeys(“测试”);
(2)复合属性定位
chromeDriver.findElement(By.xpath("//input[@maxlength=‘255’ and @autocomplete=‘off’]")).sendKeys(“测试”);
(3)文本内容完全匹配
chromeDriver.findElement(By.xpath("//a[text()=‘新闻’]")).click();
(4)文本内容部分匹配
chromeDriver.findElement(By.xpath("//a[contains(text(),‘新’)]")).click();