前言 本章节主要介绍八大元素定位和下拉列表的定位,这里我就不介绍环境的安装了,我们直接开始 提示:这里可以添加本文要记录的大概内容:
提示:以下是本篇文章正文内容,下面案例可供参考
一、八大元素定位
这里简单的总结一下
1.环境的安装和注意点 注意点。1、谷歌的版本必须和驱动的版本一致,否则运行就会报错。 谷歌的驱动链接地址我放这里了谷歌驱动下载 有些小伙伴下载驱动的时候,发现只有window32的,没有64的,就不知道盖下载哪一个了。其实直接下载32的就行了,下载好后,放在python安装目录下 如何查看谷歌当前版本,如图
2、建议关闭谷歌自动更。关闭方式可以看这篇博客, https://blog.csdn.net/weixin_48502426/article/details/122955721
id元素定位 前提有id属性
driver.close()
原文链接:https://blog.csdn.net/weixin_43977279/article/details/124119672
driver.find_element_by_id(‘kw’).send_keys(‘python’)
driver.close()
如何想看运行效果可以注释,关闭浏览器,这里教大家一个py注释一行的快捷键Ctrl + / 。因为运行块,肉眼难以察觉到。下节我将三种等待时间,小伙伴们可以加入试试效果的。 执行后的效果如图
name元素定位 前提有name属性
执行结果
classname元素定位 前提有class属性
tagname元素定位 tagname 通过input标签来定位,一般不使用,因为效率毕竟低 定位方式和前三个类似,因为没有找到较好的列子,我这里就不用代码演示了。方式就是find_element_by_tag_name()
link text元素定位 link text 是通过a标签进行定位的 如图中的红框
partial_link_text元素定位 partial_link_text也是通过a标签进行一个模糊的匹配
xpath定位 xpath定位方式 1、路径定位 绝对路径和相对路径 2、元素属性定位 3、层级与属性定位 4、属性与逻辑定位结合
1、绝对路径的定位,最外层到指定元素之间的所有层级 可以鼠标右击,查看定位的元素属性,然后点击copy–full copy XPath 相对路径的定位 从符合的第一个元素开始,如//input[@id=“kw”] 也可以鼠标右击,查看定位的元素属性,然后点击copy-- copy XPath 2、元素属性定位 利用元素的唯一属性值,//*[@id=“kw”] 如下面代码
3、层级定位 找的元素没有唯一值,但父级是唯一值
4、属性与逻辑重合 解决元素之间相同属性重名问题
CSS定位 css定位方式比xpath速度更快,建议平常使用css定位方式,之前一个面试官就有问道我,八大元素中你一般用什么方式定位,为什么。 定位方式 1、id选择器 2、class选择器 3、元素选择器 4、属性选择器 5、层级选择器
id选择器 格式:#id属性值 class选择器 格式:.class属性值 元素选择器 格式:input(选择所有input元素) 属性选择器 格式:如[name=‘name’]不推荐在属性中用id或者class 层级选择器 格式:element>element 如:p>input(返还所有p元素下所有的input元素) 其中 > 可以用空格替代
元素组定位方式 find_elements_by_xxx 和单个不同的是element多了个s 1、定位到后查找所有符合的函数 2、返还的定位元素为列表形式 3、如果未定位到元素,会返回为空值
By的定位方式 导包 from selenium.webdriver.comm.by import By 这个教小伙伴一个快速导包的办法,可以输入 find_element(By.ID,‘userA’) 点击By.ID,然后按alt+enter 需要两个参数,一个定位类型一个是定位具体方式
二、下拉列表定位 1.Select+OPtion和ul+li 代码如下(示例):
2.、下拉列表的定位 先介绍Select的方法
driver.close() 这里我结合图片来和小伙伴解释一下value 、index、visible_text这三个值
大家运行代码可以观看右上角的时间变化,
2、ul+li 定位方式
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://heb.tttmy.cn/news/2057.html