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脚本使得web页面上的代码高亮显示
Apr 24 Python
python if not in 多条件判断代码
Sep 21 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Python Pexpect库的简单使用方法
Jan 29 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
python查看数据类型的方法
Oct 12 Python
django中间键重定向实例方法
Nov 10 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
php缓存技术详细总结
2013/08/07 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
PHP数组函数知识汇总
2016/05/12 PHP
Jquery中删除元素的实现代码
2011/12/29 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
JavaScript中window.open用法实例详解
2015/04/15 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
python实现dict版图遍历示例
2014/02/19 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
Python的UTC时间转换讲解
2019/02/26 Python
谈谈Python中的while循环语句
2019/03/10 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
美国汽车交易网站:Edmunds
2016/08/17 全球购物
楼面经理岗位职责范本
2014/02/18 职场文书
军训教官感言
2014/03/02 职场文书
文明社区申报材料
2014/08/21 职场文书
高一军训的心得体会
2014/09/01 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
离职感谢信怎么写
2015/01/22 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
如何利用python创作字符画
2022/06/25 Python