webdriver定位元素技巧

当使用webdriver编写此脚本的时候,核心就是对元素的定位,通常的定位方式有By.id  .name  .select等等.

在编写页面源代码时,通常会事如下的一种编写格式,ID为固定值时我们可以直接使用By对象的id方法By.id("xxx");来对元素进行定位。

<input type="checkbox" value="true" id="addForm:_ID74:_ID75:0:_ID79:0:
    checkBox"/>

但是当ID随着页面的刷新,自动的变化取值,这样原来的那种方式就不能用了。

有两种办法:

一:xpath定位

xpath适用于那些网址或者TextLink经常改变的情况。当网址不经常改变,那么手工测试就足够了,或者使用简单的By.id();等方法就足够了。

By.xpath(input[x]);这样一种方式,通过定位input的排列顺序就可以完成对元素的定位.

二:编写代码

使用java代码来获取id的值,然后对id进行操作。

代码如下:

String [] checkBoxids=driver.getAllFields();  //获取所有的checkBox的ids

for(String checkboxid:checkboxids){

  if(checkboxid.contains("addForm")){

       driver.click(checkboxids);

}

}

这样也可以完成对自动变化的id的准确获取和操作。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值