Python selenium模块实现定位过程解析

作者:小理想 时间:2021-01-10 10:50:27 

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来定位,但是标签名字太容易重复,除非想定位一组相同标签的元素,否则一般不推荐使用

来源:https://www.cnblogs.com/xiaolixiang/p/13256411.html

标签:python,selenium,模块,定位
0
投稿

猜你喜欢

  • opencv读取视频并保存图像的方法

    2023-02-21 17:30:16
  • pandas学习之df.fillna的具体使用

    2023-10-16 20:34:08
  • Python判断某个用户对某个文件的权限

    2023-12-15 01:25:27
  • Oracle 中文字段进行排序的sql语句

    2009-09-26 18:58:00
  • Python Socketserver实现FTP文件上传下载代码实例

    2022-10-10 11:03:04
  • Python OpenCV 调用摄像头并截图保存功能的实现代码

    2022-07-08 03:11:13
  • 详解python实现读取邮件数据并下载附件的实例

    2022-04-21 00:59:14
  • python通过opencv调用摄像头操作实例分析

    2023-03-09 14:32:04
  • 一文弄懂MYSQL如何列转行

    2024-01-17 18:05:21
  • 举例简单讲解Python中的数据存储模块shelve的用法

    2022-10-12 04:23:55
  • OpenCV结合selenium实现滑块验证码

    2022-06-29 14:18:57
  • Go语言实现选择法排序实例

    2024-04-25 15:29:33
  • Python list运算操作代码实例解析

    2021-11-17 21:44:43
  • Mysql远程访问的开启

    2009-12-17 12:27:00
  • python进行图像边缘检测的详细教程

    2023-08-10 04:53:40
  • 大幅提升MySQL中InnoDB的全表扫描速度的方法

    2024-01-19 20:58:42
  • PHP字符转义相关函数小结(php下的转义字符串)

    2023-11-16 14:29:18
  • Pandas:Series和DataFrame删除指定轴上数据的方法

    2022-12-22 12:49:26
  • Python Web框架Tornado运行和部署

    2021-04-14 09:17:57
  • 发布淘宝开源编辑器 KISSY Editor 1.0.0

    2009-10-27 16:20:00
  • asp之家 网络编程 m.aspxhome.com