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实现去除代码前行号的方法
Mar 10 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python编程中的for循环语句学习教程
Oct 14 Python
Python正则表达式常用函数总结
Jun 24 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
pyQt5实时刷新界面的示例
Jun 25 Python
基于python调用psutil模块过程解析
Dec 20 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 Python
用基于python的appium爬取b站直播消费记录
Apr 17 Python
用python批量解压带密码的压缩包
May 31 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处理大量表单字段的便捷方法
2015/02/07 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
文本加密解密
2006/06/23 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
js字符串转成JSON
2013/11/07 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
微信小程序上传图片实例
2018/05/28 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
django定期执行任务(实例讲解)
2017/11/03 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
用python实现名片管理系统
2020/06/18 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
python中如何设置代码自动提示
2020/07/15 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
高中生活自我鉴定
2014/01/18 职场文书
清洁工岗位职责
2014/01/29 职场文书
《钱学森》听课反思
2014/03/01 职场文书
活动总结模板
2014/05/09 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
先进员工事迹材料
2014/12/20 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
初中团支书竞选稿
2015/11/21 职场文书