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 05 Python
python基础教程之Filter使用方法
Jan 17 Python
利用python写个下载teahour音频的小脚本
May 08 Python
PyQt5每天必学之事件与信号
Apr 20 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 Python
如何使用scrapy中的ItemLoader提取数据
Sep 30 Python
分享一个python的aes加密代码
Dec 22 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 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数据库开发知多少
2006/10/09 PHP
PHP中break及continue两个流程控制指令区别分析
2011/04/18 PHP
PHP的PSR规范中文版
2013/09/28 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
用js实现的抽象CSS圆角效果!!
2007/05/03 Javascript
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
浅谈Python的垃圾回收机制
2016/12/17 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
Python time库基本使用方法分析
2019/12/13 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
网管求职信
2014/03/03 职场文书
母校寄语大全
2014/04/10 职场文书
《风筝》教学反思
2014/04/10 职场文书
我爱我家教学反思
2014/05/01 职场文书
树转促学习心得体会
2014/09/10 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
骨干教师考核评语
2014/12/31 职场文书
2016年国培研修日志
2015/11/13 职场文书
大学文艺委员竞选稿
2015/11/19 职场文书
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫