在正式创建测试项目之前有必要详细介绍下怎么样去寻找页面元素,当然就是根据网页元素的属性了,想必大家一定都很熟知常用的浏览器比如Chrome和Firefox了,一般化在网页上选中你想查看的元素然后右击审查元素就可以看到该元素的属性了,知道了这些元素属性又怎么和webdriver结合起来呢?下面就来介绍下webdriver locate elements的方法,webdriver中用findElement(By.**())关键字来locate 元素
第一种最快也是最方便的方法::By ID
通常网页上的元素会有一个唯一识别的ID 就像我们的×××一样,它用来唯一标识某元素,WebDriver通过这种方法去发现元素的语法很简单
driver.findElement(By.id("*****")); 这里只要知晓元素的相对应的id就可以找到该元素了,也许会有人说我怎么知道id?直接检查页面元素就可以的在html代码中看到你想要的元素的id了,比如百度页面的搜索框相对应的html代码为:<input type="text" name="wd" id="kw" maxlength="100" class="s_ipt" autocomplete="off">这里可以清楚的看到该文本框的id为kw,相应的发现元素代码就应该为:driver.findElement(By.id("kw")); 注意:不是所有的元素都有id,这个要根据但是开发的设计。
第二种方法:By Name
driver.findElement(By.name("****"));这里只要知道相对应的元素的name就可以成功的找到元素了,还以百度首页的搜索框为例,搜索框的name为wd,相应的代码应为driver.findElement(By.name("wd"));当然也不是所有的元素都有name。
第三种方法:By xpath
driver.findElement(By.xpath("****"));这里主要是通过元素的xpath来定位元素的,xpath的知识有兴趣的可以访问http://www.w3school.com.cn/xpath/去了解下,这里不做介绍,下面介绍几种即使你完全不懂xpath的语法你也照样可以运用xpath来发现元素的方法:
#1利用firefox的xpath插件在add-on中搜索xpath,然后选择 xpath checker,安装完成后,就可以运用xpath了,比如我想得到百度首页logo的xpath值只要把光标移到图片上右击view xpath 就可以得到xpath的值了:id('lg')/x:img,所以这里相对应的代码就应该为:driver.findElement(By.xpath("id('lg')/x:img"))
#2利用chrome的xpath插件,这个插件个人感觉比firefox下的插件更好用,出错的几率也相应的小了很多,该插件为PsychoXpath:https://chrome.google.com/webstore/detail/psychoxpath/bpnigkcdmnofjkmojlopmelmhgpbndog 安装成功后,选定相应的元素右击你可以选择绝对路径(Absolute),这里不推荐这种绝对路径的,强烈推荐第二种(short),当然你也可以highlight元素,自己试试绝对感觉很有意思。
获取到相应的xpath后就可以把值相应的替换到driver.findElement(By.xpath(""))中就可以了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。