当前位置:首页 > 手机资讯 > 正文

python+selenium定位

python+selenium定位

python+selenium定位 定位

前言 本章节主要介绍八大元素定位和下拉列表的定位,这里我就不介绍环境的安装了,我们直接开始 提示:这里可以添加本文要记录的大概内容:

提示:以下是本篇文章正文内容,下面案例可供参考

一、八大元素定位

 

这里简单的总结一下

 

 

 

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 定位方式

最新文章