Python实现网页自动化-Selenium定位元素方法(三)

selenium定位元素方法

上一节我们学会了如何使用浏览器来查找网页元素,本节主要讲述如何将网页元素告知Selenium,并让它自动操控网页。

Selenium定位网页元素主要是通过元素的属性值或者元素在HTML里的路径位置,定位方式一共有8种:

# 通过属性 id 和 name 来实现登录
1) find_element_by_id()
2) find_element_by_name()

# 通过HTML标签类型和属性class实现定位
3) find_element_by_class_name()
4) find_element_by_tag_name()

# 通过标签值实现定位,partial_link用于模糊匹配
5) find_element_by_link_text()
6) find_element_by_partial_link_text()

# 元素的路径定位选择器
7) find_element_by_xpath()
8) find_element_by_cass_selector()

我们将8种定位方式分为4组,分组标准是以每种定位方式的优缺点来进行划分。具体的说明如下:

 

(1)find_element_by_id和find_element_by_name分别通过元素属性id和name的属性值来定位。如果被定位的元素不存在属性id或name,则无法使用这种定位方式。通常情况下,一个网页中,元素的id或name的属性值是唯一的,如果多个元素的id或name相同,这种定位方式只能定位第一个元素。

 

(2)find_element_by_class_name和find_element_by_tag_name分别通过元素属性class和元素标签类型进行定位。在一个网页里,属性class的属性值可以被多个元素使用,同一个元素标签也可以多次使用,正因如此,这两种定位方式只能定位符合条件的第一个元素。

 

(3)find_element_by_link_text和find_element_by_partial_link_text是根据标签值进行定位。比如单击豆瓣电影网的排行榜,通过网页的文字来对元素进行定位。若网页中的文字并不是唯一,那么Selenium也是默认定位第一个符合条件的元素。

 

(4)find_element_by_xpath和find_element_by_css_selector是由xpath和css_selector实现定位,两者是一个定位选择器,通过标签的路径来实现定位。标签的路径是指当前标签在整个HTML代码里的代码位置,比如<body>里的第二个<div>标签,<div>又嵌套<p>标签,那么<p>的路径为body -> div[1] -> p。这种定位方式相对前面的定位较为精准,因为每个标签的路径都是唯一的。

 

 

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忱光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值