程序笔记   发布时间:2022-07-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Selenium自动化测试-3.元素定位(1)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

这次我们要分享的是对元素的定位࿰c;在一个页面中有很多不同的策略来定位一个元素࿰c;我们选择最合适的方法即可。

一个页面最基本组成单元是元素࿰c;想要定位一个元素࿰c;我们需要特定的信息来说明这个元素的唯一特征。

SELEnium 主要提供了8种定位元素方法:

Selenium自动化测试-3.元素定位(1)

find_elemenT_By_id   

find_elemenT_By_name

find_elemenT_By_link_text

find_elemenT_By_partial_link_text

find_elemenT_By_tag_name

find_elemenT_By_class_name

find_elemenT_By_css_SELEctor

find_elemenT_By_xpath

我们先简单介绍浏览器怎么定位到元素上:

1.打开Chrome浏览器࿰c;按F12或浏览器右上角打开开发者工具。

(注:F12打不开的࿰c;看快捷键设置࿰c;比如Fn+F12打开)  

Selenium自动化测试-3.元素定位(1)

2.打开开发者工具后࿰c;在开发者工具栏左上角点亮箭头࿰c;然后鼠标移动到想要定位的页面元素上࿰c;如图所示:  

Selenium自动化测试-3.元素定位(1)

3.定位之后࿰c;就可以看到对应的元素属性信息了。

Selenium自动化测试-3.元素定位(1)

接下来依次介绍前6种定位方法:

1.find_elemenT_By_id 

Selenium自动化测试-3.元素定位(1)

id就像人的身份证一样࿰c;具有唯一性。当然࿰c;同一个页面发现两个相同的id也是有可能的࿰c;这取决于前端代码的规范程度。所以࿰c;通过id来查找元素相对可靠。

我们以百度页面的搜索框为例子࿰c;先定位到搜索框上࿰c;如下图:id=“kw”

Selenium自动化测试-3.元素定位(1)

接下来直接写代码࿰c;定位搜索框࿰c;且输入文本:

Selenium自动化测试-3.元素定位(1)

(补充:send_keys()表示模拟键盘输入文本)

运行之后࿰c;在搜索框输入了小胖虎࿰c;表示定位到了搜索框:

Selenium自动化测试-3.元素定位(1)

2.find_elemenT_By_name

Selenium自动化测试-3.元素定位(1)

name定位和id定位类似࿰c;name就像人的名字一样࿰c;元素也会有name属性。

我们还是以百度搜索框为例࿰c;定位元素后发现࿰c; NAME="wd"。

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

实现代码如下:

Selenium自动化测试-3.元素定位(1)

运行后࿰c;在百度搜索框输入小胖虎࿰c;定位成功。

@H_618_97@

3.find_elemenT_By_link_text

Selenium自动化测试-3.元素定位(1)

link_text通过文本链接定位元素。

以百度页面的右上角的的文本链接为例:

Selenium自动化测试-3.元素定位(1)

定位到“hao123”链接上:

<a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>

我们要取的是a标签中间的“hao123”。

Selenium自动化测试-3.元素定位(1)

运行之后࿰c;打开百度页面࿰c;然后点击hao123, 进入hao123页面。

补充:click()是指点击定位到元素之后࿰c;进行点击。

4.find_elemenT_By_partial_link_text

Selenium自动化测试-3.元素定位(1)

partial_link_text方法和link_text类似࿰c;只不过是模糊匹配࿰c;有时候文本链接很长࿰c;我们截取文本的一部分进行定位即可࿰c;我们还是定位“hao123”链接元素:

<a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>

截取“hao”或“123”进行定位࿰c;代码如下:

Selenium自动化测试-3.元素定位(1)

运行后࿰c;启动浏览器࿰c;打开百度页面࿰c;等待2秒钟࿰c;打开hao123页面࿰c;定位成功。

5.find_elemenT_By_tag_name

Selenium自动化测试-3.元素定位(1)

tag_name 顾名思义就是tag(标签)属性。

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off"><a href="https://www.hao123.com" target="_blank" class="mnav">hao123</a>

上面的 input, a都叫标签࿰c;我们可以发现一个页面相同的标签很多。接下里我们用tag_name属性定位百度搜索框:

Selenium自动化测试-3.元素定位(1)

运行之后࿰c;发现报错了࿰c;是因为一个页面࿰c;相同的标签太多࿰c;想要定位到元素࿰c;必须具有唯一性࿰c;所以不太推荐使用tag name的方法。

6.find_elemenT_By_class_name

Selenium自动化测试-3.元素定位(1)

class_name 通过类名定位。

百度搜索框为例࿰c;其中class="s_ipt"。

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

代码如下:

Selenium自动化测试-3.元素定位(1)

运行成功后࿰c;启动浏览器࿰c;打开百度页面࿰c;搜索框输入小胖虎࿰c;定位成功!

Selenium自动化测试-3.元素定位(1)

总结:今天介绍的6种定位方法࿰c;id定位是最高效也是首选的方法࿰c;没有id属性的话࿰c;再选择其他定位方法。

下一篇我们将介绍第7种定位方法——xpath定位࿰c;功能强大࿰c;你值得拥有。

Selenium自动化测试-3.元素定位(1)

 

感谢每一个认真阅读我文章的人࿰c;看着粉丝一路的上涨和关注࿰c;礼尚往来总是要有的࿰c;然不是什么很值钱的东西࿰c;如果你用得到的话可以直接拿走:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

Selenium自动化测试-3.元素定位(1)

 

⑤ Python学习路线图(告别不入流的学习)

在我的QQ技术交流群里(技术交流和资源共享࿰c;广告进来腿给你打断)

可以自助拿走࿰c;群号953306497(备注“csdn111”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

Selenium自动化测试-3.元素定位(1)

 

大佬总结

以上是大佬教程为你收集整理的Selenium自动化测试-3.元素定位(1)全部内容,希望文章能够帮你解决Selenium自动化测试-3.元素定位(1)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。