xpath定位方法小结(转载)
1、实例化一个浏览器
WebDriver driver = new FirefoxDriver();
2、driver.get() get传参数到浏览器中
3、常用定位方法
webelement XX=driver.findElement(by.XX)
3.1 by.id("value");
3.2 by.ame("value");
3.3 by.xpath("/html/body/XX/div[1]/a") 表示第一个div值为a的值
by.xpath(/html/body/XX/div[last])表示最后一个div 倒数第二个为[last-1]
by.xpath(/html/body/XX/div[(position)-4]) 表示前三个div
by.xpath(/html/body/XX/div[price>55])div下price大于55的列表
by.xpath("//*[@属性='值']") 查找某个属性的值
by.xpath("//title[@属性='值']") 查找title下所有值 属性
4.显示取值
4.1 .getText() 取定位所在的值
.gettittle()显示页面的title
5.点击一个按钮
.click();
6.多个对象处理机制
6.1点击弹出新窗口,wb定位不到元素,则用一下语法
-
for(Srting handle : driver.getwindowHandles()){
-
driver.switchTo().window(handle);
-
System.out.print(driver.gettitle()+'\n')
-
}
6.2 获取跳转后页面句柄
driver.getWindowHandle()
6.2 获取某个元素下的所有列表,在进行挨个点击返回页面
-
List<WebElement>11 =dr.findElements(by.xpath(""));
-
//li[position()<4] li列表的前三个li[last()]表示最后一个li[last()-1]表示倒数第二个
-
try{
-
for (WebElement y: 11){
-
y.click();
-
dr.getWindiwHendles(); //返回上一个页面
-
System.out.print(y.getText()+"\n");
-
}
-
Thread.sleep(3000);
-
}catch(InerttuptedException e) {
-
e.printStackTrace();//大于异常跟System.out.print(e)一样,通常用前者调式
-
}
7.等待时间
Thread.sleep(10000);
最好放在
-
try{}catch(exception e){System.out.printIn(e.toString());}