Selenium元素定位的八种方法(建议收藏)

自动化一般需要四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。Selenium提供8种元素定位的方法:id,name,class name,link text,xpath,css selector,tag name ,partial link tex。

这八种元素定位方法用python语言表示为:

find_element_by_id()

find_element_by_name()

find_element_by_class_name()

find_element_by_tag_name()

find_element_by_link_text()

find_element_by_partial_link_text()

find_element_by_xpath()

find_element_by_css_selector()

下面以百度的页面为例:

打开百度首页,如图1点击 F12,点击查看器旁的箭头鼠标滑动到百度搜索输入框,点击输入框,下方标蓝的就是该输入框的元素属性

<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">

1.通过id定位元素

从图1可以看到输入框有个id属性:id="kw",这里可以通过它的id属性定位到这个元素,并且通过send_keys()传输字符给输入框。

2.通过class_name定位元素

从图1可以看到输入框有个class属性:class="s_ipt",这里可以通过它的class属性定位到这个元素,并且通过send_keys()传输字符给输入框。

3.通过name定位元素

从图1可以看到输入框有个name属性:name="wd",这里可以通过它的name属性定位到这个元素,并且通过send_keys()传输字符给输入框。

4.通过tag定位元素

从图1可以看到输入框有个tag(标签)属性:input,这里可以通过它的标签属性定位到这个元素,并且通过send_keys()传输字符给输入框。但是标签往往不是惟一的,所有在实际应用中不常用。

5.通过link_text定位元素

使用定位器,点击“新闻”按钮,定位到该元素,如图2。

<a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a>

可以看到图2中“新闻”有个href属性为"http://news.baidu.com",属于超链接,这种元素就可以使用link_text进行定位。

6.通过partial_link_text定位元素

如果链接的字符串太长的话,全部输入影响代码美观也容易出错,这时就可以采用 partial_link_text,模糊匹配、截取字符串的一部分定位到元素。如图2中,我们定位新闻可以如下写。

7.通过xpath定位元素

上面6种方法都是通过元素的某一个属性进行定位,但是如果一个元素没有上述属性或者属性不是唯一时,我们可以使用xpath进行元素定位。

利用浏览器调试功能,定位到元素所在的那一行右键-->Copy-->Copy XPath。

8.通过CSS selector定位元素

CSS方法和XPATH是完全不同的语法,通过定位器我们先找到搜索框的css。


如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

全套资料获取方式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值