Python selenium模块实现定位过程解析
作者:小理想 时间:2021-01-10 10:50:27
selenuim模块定位方法
1,我们想要操作html页面上的元素,首先必须要定位到这个元素上。每个元素都有他各自的属性,比如id,name,class等,我们就通过这些属性来定位元素。
2,我们先打开一个网页,按F12来获取这个网页的源代码,方便我们定位元素。
from selenium import webdriver
driver=webdriver.Chrome() #启动谷歌浏览器
driver.get("http://www.baidu.com") #打开百度网页
3,按F12我们获取到元素,鼠标点击图片红框中的标,然后把鼠标放到你想要获取的元素位置,然后右边代码会自动定位。
定位方法详解
1.用id定位
我们可以看到右边代码元素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来定位,但是标签名字太容易重复,除非想定位一组相同标签的元素,否则一般不推荐使用
来源:https://www.cnblogs.com/xiaolixiang/p/13256411.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python网页正文转换语音文件的操作方法
![](https://img.aspxhome.com/file/2023/9/96999_0s.jpg)
web程序员的思考
mysql limit查询优化分析
python爬虫之爬取百度音乐的实现方法
![](https://img.aspxhome.com/file/2023/0/65420_0s.jpg)
python interpolate插值实例
![](https://img.aspxhome.com/file/2023/4/84874_0s.jpg)
Python元组常见操作示例
详解Django中Request对象的相关用法
![](https://img.aspxhome.com/file/2023/6/99436_0s.jpg)
matplotlib绘制折线图的基本配置(万能模板案例)
![](https://img.aspxhome.com/file/2023/3/97663_0s.png)
标准的、语义的、Unobtrusive的页签tab切换
![](https://img.aspxhome.com/file/UploadPic/200711/3/200711314630185s.png)
Python实现鼠标自动在屏幕上随机移动功能
oracle join on 数据过滤问题
Python ChineseCalendar包主要类和方法详解
PHP实现的AES加密、解密封装类与用法示例
python实现用户登录系统
Python Flask搭建yolov3目标检测系统详解流程
![](https://img.aspxhome.com/file/2023/3/95203_0s.gif)
web2.0中流行的设计元素:颜色
![](https://img.aspxhome.com/file/UploadPic/200712/10/20071210121850432s.jpg)
Elasticsearch属性单词常用解析说明
asp.net微信开发(永久素材管理)
![](https://img.aspxhome.com/file/2023/9/78999_0s.png)
python提效小工具之统计xmind用例数量(源码)
![](https://img.aspxhome.com/file/2023/6/72246_0s.png)