首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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[1] -> p。这种定位方式相对前面的定位较为精准,因为每个标签的路径都是唯一的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220323A03UDR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券