python中通过selenium简单操作及元素定位知识点总结


Posted in Python onSeptember 10, 2019

 

浏览器的简单操作

# 导入webdriver模块

# 创建driver对象,指定Chrome浏览器
driver = webdriver.Chrome()
# 窗口最大化
driver.maximize_window()
# 访问百度
driver.get("http://baidu.com")
driver.get("http://sina.com")
# 后退
driver.back()
# 前进
driver.forward()
# 刷新
driver.refresh()

# 关闭窗口
driver.close()
# 关闭会话,关闭浏览器,关闭chromedriver
driver.quit()

selenium的8种定位方式

6种靠单一的特征来找元素(id, calss_name, tag_name, name, link_text(2))

组合各种特征和关系来找元素(xpath, css)

1.id定位:唯一

find_element_by_id()

2.name定位:不唯一

find_element_by_name()

find_elements_by_name()

3.class定位:不唯一

find_element_by_class()

4.tag_name定位:不唯一

find_element_by_tag_name()

# 单数,在DOM页面中,匹配到的第一个元素

find_elements_by_tag_name()

# 复数,返回的是一个列表,元素为webElement对象,全部匹配的元素

5.文本匹配:/完全匹配/部分匹配

find_element_by_link_text()

find_element_by_partial_link_text()

Xpath定位:

1.通过自己来定位:

语法://标签名[@属性名=值]

例如:

//*[@id="mCon"]/span

# *匹配所有元素

//*[@id="kw"]

2.通过文本来定位:

语法://标签名[text()="值"]

例如:

//h1[(text()= "第20期")]

# 完全匹配

//h1[contains(text(), "第20期")]

# 部分匹配,包含

3.层级定位:

如果找到的元素有两个或多个完全一样的元素,那么就通过他们不同的父级或父级的父级来定位

/ 绝对定位,单斜杠只能写子级,不能跳级写

// 相对定位,双斜杠可以写子级,子级的子级等等(推荐使用)

举例说明:

python中通过selenium简单操作及元素定位知识点总结

l 输入账号

//div//input[@name="account"]

//div[@class="padding-cont pt-login"]//input[@placeholder="邮箱/账号/手机号"]

l 输入密码

//div[@class="padding-cont pt-login"]//input[@name="pass"]

//div[@class="padding-cont pt-login"]//input[@type="password"]

l 下次自动登录

//div[@class="padding-cont pt-login"]//a[text()="下次自动登录"]

//div[@class="padding-cont pt-login"]//a[@class="auto-login fl"]

l 忘记密码

//div[@class="padding-cont pt-login"]//a[@class="forget fr"]

//div[@class="padding-cont pt-login"]//a[text()="忘记密码?"]

l 登录按钮

//div[@class="padding-cont pt-login"]//a[@class="btn-btn"]

//div[@class="padding-cont pt-login"]//a[text()="登录"]

Xpath轴定位:

含义:通过同级目录来定位元素,叫做轴定位

轴运算:

ancestor:祖先节点,包括父节点

parent:父节点

preceding-sibling:当前元素节点标签之前的所有兄弟节点

following-sibling:当前元素节点标签之后的所有兄弟节点

preceding:当前元素节点标签之前的所有节点(HTML页面先后顺序)

following:当前元素节点标签之后所有的节点(HTML页面先后顺序)

轴定位语法:

/轴名称::标签名称[@属性名=值]

示例:例://div//table//td//preceding::td

应用场景:

页面显示为一个表格样式的数据列,需要通过组合来定位元素

以上就是本次介绍的全部知识点内容,感谢大家对三水点靠木的支持。

Python 相关文章推荐
python将xml xsl文件生成html文件存储示例讲解
Dec 03 Python
python使用pil生成缩略图的方法
Mar 26 Python
python2.7无法使用pip的解决方法(安装easy_install)
Apr 03 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
Python文件读写常见用法总结
Feb 22 Python
Python进度条的制作代码实例
Aug 31 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
python网络爬虫 CrawlSpider使用详解
Sep 27 Python
使用Pytorch来拟合函数方式
Jan 14 Python
Python如何实现爬取B站视频
May 20 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
python基于opencv批量生成验证码的示例
Apr 28 Python
用Python画一个LinkinPark的logo代码实例
Sep 10 #Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 #Python
django drf框架自带的路由及最简化的视图
Sep 10 #Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 #Python
python3.7环境下安装Anaconda的教程图解
Sep 10 #Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 #Python
python 图像处理画一个正弦函数代码实例
Sep 10 #Python
You might like
codeigniter中实现一次性加载多个view的方法
2015/03/20 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
thinkphp5框架API token身份验证功能示例
2019/05/21 PHP
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
js Math 对象的方法
2013/09/01 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
python批量修改文件编码格式的方法
2018/05/31 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
家长会学生家长演讲稿
2013/12/29 职场文书
服务员自我评价
2014/01/25 职场文书
户外婚礼策划方案
2014/02/08 职场文书
写给老婆的检讨书
2014/02/21 职场文书
市场营销工作计划书
2014/05/06 职场文书
环保标语口号
2014/06/13 职场文书
教师个人成长总结
2015/02/11 职场文书
财务个人年度总结范文
2015/02/26 职场文书
解析MySQL binlog
2021/06/11 MySQL