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 相关文章推荐
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
Django实现图片文字同时提交的方法
May 26 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
Python序列循环移位的3种方法推荐
Apr 09 Python
python对日志进行处理的实例代码
Oct 06 Python
python利用dlib获取人脸的68个landmark
Nov 27 Python
如何在python中判断变量的类型
Jul 29 Python
通过代码实例了解Python异常本质
Sep 16 Python
Django操作cookie的实现
May 26 Python
Python Pandas常用函数方法总结
Jun 15 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中的PDO类
2015/07/06 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
用jscript实现列出安装的软件列表
2007/06/18 Javascript
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
jquery实现图片预加载
2015/12/25 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
微信小程序 高德地图路线规划实现过程详解
2019/08/05 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
Python 可视化神器Plotly详解
2020/12/26 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
仓库管理专业个人的自我评价
2013/12/30 职场文书
2015员工年度考核评语
2015/03/25 职场文书
旅游投诉信范文
2015/07/02 职场文书
货款欠条范本
2015/07/03 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
python flask框架快速入门
2021/05/14 Python
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers