分享

xpath定位方法小结

 hbxtly 2014-03-26

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.多个对象处理机制
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());}

复制代码

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多