Python selenium模块实现定位过程解析


Posted in Python onJuly 09, 2020

selenuim模块定位方法

1,我们想要操作html页面上的元素,首先必须要定位到这个元素上。每个元素都有他各自的属性,比如id,name,class等,我们就通过这些属性来定位元素。

 2,我们先打开一个网页,按F12来获取这个网页的源代码,方便我们定位元素。

from selenium import webdriver 
 driver=webdriver.Chrome() #启动谷歌浏览器
 driver.get("http://www.baidu.com")  #打开百度网页

Python selenium模块实现定位过程解析

 3,按F12我们获取到元素,鼠标点击图片红框中的标,然后把鼠标放到你想要获取的元素位置,然后右边代码会自动定位。

定位方法详解

 1.用id定位

Python selenium模块实现定位过程解析

我们可以看到右边代码元素id为kw。

from selenium import webdriver 
driver=webdriver.Chrome() 
driver.get("http://www.baidu.com")

s=driver.find_element_by_id('kw')   #定位到id等于kw的元素(百度搜索框)

s.send_keys('您好')  #在搜索框内输入你好

        2.用name来定位

#代码同上
driver.find_element_by_name('wd') #定位name为wd的元素

3.用classname来定位

#代码同上
driver.find_element_by_class_name('s_ipt') #通过类名定位,一般类名有重复的,不常使用

4.用标签来定位

#代码同上
driver.find_element_by_tag_name('tag') #标签定位,不常使用

5.定位a标签。

#代码同上
driver.find_element_by_link_text('text')    #定位a标签的内容完全匹配
driver.find_element_by_partical_link_text('text')  #定位a标签内容模糊匹配

6.通过路径来定位,常用相对路径。

driver.find_element_by_xpath(//*[@id="kw"]) #相对路径定位注意:

html中,大多数的元素都具备id和name的属性,并且id是唯一的,因此用id和name来定位元素是比较常见的方式。 不过有的元素并不具备id和name属性,我们则可以用class name来定位元素。当然我还可以用tag name来定位,但是标签名字太容易重复,除非想定位一组相同标签的元素,否则一般不推荐使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python装饰器验证配置文件示例
Feb 24 Python
简单介绍使用Python解析并修改XML文档的方法
Oct 15 Python
Python压缩解压缩zip文件及破解zip文件密码的方法
Nov 04 Python
Linux中Python 环境软件包安装步骤
Mar 31 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
5分钟 Pipenv 上手指南
Dec 20 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
python实现布隆过滤器及原理解析
Dec 08 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
Python 合并拼接字符串的方法
Jul 28 Python
python实现猜拳游戏项目
Nov 30 Python
Python自动化操作实现图例绘制
Jul 09 #Python
解决pip install psycopg2出错问题
Jul 09 #Python
利用python下载scihub成文献为PDF操作
Jul 09 #Python
Python scrapy爬取小说代码案例详解
Jul 09 #Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 #Python
pytorch 多分类问题,计算百分比操作
Jul 09 #Python
详解Python 循环嵌套
Jul 09 #Python
You might like
php遍历目录viewDir函数
2009/12/15 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
详解nodejs 文本操作模块-fs模块(二)
2016/12/22 NodeJs
jquery实现左右轮播切换效果
2018/01/01 jQuery
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
操作Windows注册表的简单的Python程序制作教程
2015/04/07 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
对python Tkinter Text的用法详解
2018/10/11 Python
django使用LDAP验证的方法示例
2018/12/10 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
eBay加拿大站:eBay.ca
2019/06/20 全球购物
毕业生实习鉴定
2013/12/11 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
工作所在部门证明
2014/09/21 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
python实现简易名片管理系统
2021/04/11 Python
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers