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代码(逐级优化)
May 25 Python
python通过索引遍历列表的方法
May 04 Python
编写Python爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
Jun 03 Python
python 连接sqlite及简单操作
Jun 30 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
celery4+django2定时任务的实现代码
Dec 23 Python
python mysql断开重连的实现方法
Jul 26 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
django创建css文件夹的具体方法
Jul 31 Python
Python基础详解之描述符
Apr 28 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生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
js代码实现轮播图
2020/05/04 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
简单谈谈python基本数据类型
2018/09/26 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
django列表筛选功能的实现代码
2020/03/27 Python
Python进程的通信Queue、Pipe实例分析
2020/03/30 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
ktv收银员岗位职责
2013/12/16 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
期末考试动员演讲稿
2014/01/10 职场文书
同学聚会祝酒词
2015/08/10 职场文书