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的Flask框架下使用sqlalchemy库的简单教程
Apr 09 Python
Python实现LRU算法的2种方法
Jun 24 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
python抓取网站的图片并下载到本地的方法
May 22 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
python调用摄像头显示图像的实例
Aug 03 Python
flask框架url与重定向操作实例详解
Jan 25 Python
python 爬取疫情数据的源码
Feb 09 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 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中str_replace函数使用小结
2008/10/11 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
用js怎么把&字符换成"&amp:"
2006/10/19 Javascript
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
论JavaScript模块化编程
2016/03/07 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
layui 关闭open弹出框 刷新table表格页面的方法
2019/09/16 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
python抓取京东商城手机列表url实例代码
2013/12/18 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python3 读写文件换行符的方法
2018/04/09 Python
python监控进程脚本
2018/04/12 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
英国工具中心:UK Tool Centre
2017/07/10 全球购物
企业为何需要商业计划书
2013/12/26 职场文书
我的祖国演讲稿
2014/05/04 职场文书
安全环保标语
2014/06/09 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
六查六看六改心得体会
2014/10/14 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技