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脚本在Linux下实现部分Bash Shell的教程
Apr 17 Python
快速入手Python字符编码
Aug 03 Python
Python基础中所出现的异常报错总结
Nov 19 Python
Python使用functools实现注解同步方法
Feb 06 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
python3实现微型的web服务器
Sep 03 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
Python-openCV读RGB通道图实例
Jan 17 Python
用Python绘制漫步图实例讲解
Feb 26 Python
Django更新models数据库结构步骤
Apr 01 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
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
2011/04/07 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
编程语言JavaScript简介
2014/10/16 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
详解Angular路由之路由守卫
2018/05/10 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
微信小程序获取当前时间及星期几的实例代码
2020/09/20 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
物业保安主管岗位职责
2013/12/25 职场文书
绩效考核实施方案
2014/03/18 职场文书
导师就业推荐信范文
2014/05/22 职场文书
殡葬服务心得体会
2014/09/11 职场文书
建设幸福中国演讲稿
2014/09/11 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
五好家庭事迹材料
2014/12/20 职场文书
创业计划之特色精品店
2019/08/12 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
Python 如何安装Selenium
2021/05/06 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript