xpath定位方法小结(转载)

转自:https://www.cnblogs.com/andashu/p/6377397.html

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定位不到元素,则用一下语法

  1. for(Srting handle : driver.getwindowHandles()){

  2. driver.switchTo().window(handle);

  3. System.out.print(driver.gettitle()+'\n')

  4. }

6.2 获取跳转后页面句柄
driver.getWindowHandle()
6.2 获取某个元素下的所有列表,在进行挨个点击返回页面

  1. List<WebElement>11 =dr.findElements(by.xpath(""));

  2. //li[position()<4] li列表的前三个li[last()]表示最后一个li[last()-1]表示倒数第二个

  3. try{

  4. for (WebElement y: 11){

  5. y.click();

  6. dr.getWindiwHendles(); //返回上一个页面

  7. System.out.print(y.getText()+"\n");

  8. }

  9. Thread.sleep(3000);

  10. }catch(InerttuptedException e) {

  11. e.printStackTrace();//大于异常跟System.out.print(e)一样,通常用前者调式

  12. }

7.等待时间
Thread.sleep(10000);
最好放在

  1. try{}catch(exception e){System.out.printIn(e.toString());}

原文地址:https://www.cnblogs.com/hsyfighting/p/14386110.html