定位元素

http://www.51testing.com/html/20/n-855520-2.html





 b、使用元素的任何属性来定位元素

  driver.findElement(By.cssSelector("标签名[属性名='属性值']"));
   c、匹配部分属性值
^=        driver.findElement(By.cssSelector("标签名[属性名^='xxx']"));  匹配属性值以xxx开头的元素
$=        driver.findElement(By.cssSelector("标签名[属性名$='xxx']"));  匹配属性值以xxx结尾的元素
*=         driver.findElement(By.cssSelector("标签名[属性名^='xxx']"));  匹配属性值包含xxx的元素
   2、使用相对+绝对路径方法,这里是我自己定义的方法,方便记忆,的确也是这样来实现的
  driver.findElement(By.cssSelector("div#login>input"))   该方法中“div#login>input” 首先通过相对路径定位到id为login的div元素,然后查找其子元素input(绝对路径)
   二、使用xpath定位元素,相比cssSelector,xpath是我比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能
   1、使用绝对路径定位元素
  driver.findElement(By.xpath("/html/body/div/form/input"))
   2、使用相对路径定位元素
  driver.findElement(By.xpath("//input"))   返回查找到的第一个符合条件的元素
   3、使用索引定位元素,索引的初始值为1,注意与数组等区分开
  driver.findElement(By.xpath("//input[2]"))   返回查找到的第二个符合条件的元素
   4、结合属性值来定位元素
  driver.findElement(By.xpath("//input[@id='username']"));
  driver.findElement(By.xpath("//img[@alt='flowr']"));
   5、使用逻辑运算符,结合属性值定位元素,and与or
  driver.findElement(By.xpath("//input[@id='username' and @name='userID']"));
   6、使用属性名来定位元素
  driver.findElement(By.xpath("//input[@button]"))
   7、类似于cssSlector,使用部分属性值匹配元素
starts-with()    driver.findElement(By.xpath("//input[stars-with(@id,'user')]"))
ends-with        driver.findElement(By.xpath("//input[ends-with(@id,'name')]"))
contains()        driver.findElement(By.xpath("//input[contains(@id,"ernam")]"))
   8、使用任意属性值匹配元素
  driver.findElement(By.xpath("//input[@*='username']"))
   9、使用xpath轴来定位元素
  这里略了,详见w3school.com
   三、使用innerText定位元素
   1、使用cssSelector查找innerText定位元素
  driver.findElement(By.cssSelector("span[textContent='新闻']"));
   2、使用xpath的text函数
  driver.findElement(By.xpath("//span[contains(text(),'hello')]"))   包含匹配
  driver.findElement(By.xpath("//span[text()='新闻']"))     绝对匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值