Selenium 4.+.+ 标签定位8种方法详解

这篇具有很好参考价值的文章主要介绍了Selenium 4.+.+ 标签定位8种方法详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium4使用find_element(by=By.**, value=*)来替换了原来的find_element_by_* 的方法,使用find_elements(by=By.*, value=*)来替换了原来的find_elements_by_* 的方法。

By类定义在 site-packages\selenium\webdriver\common\by.py中:

selenium 标签,python,Powered by 金山文档

元素定位

元素本身是什么:HTML静态页面中的的一个标签

元素定位一般而言是基于元素自身所包含有的特点来进行定位的。

包括:标签的名称(决定元素是什么)、标签的属性(决定元素有什么特质),标签的文本

定位元素的方法

ID = “id”

XPATH = “xpath”

LINK_TEXT = “link text”

PARTIAL_LINK_TEXT = “partial link text”

NAME = “name”

TAG_NAME = “tag name”

CLASS_NAME = “class name”

CSS_SELECTOR = “css selector”

  • id:有ID就用ID定位,基本不会重复

  • name:有name可以考虑用,name类似于人的名字,虽然相对少见的值,但是容易重名

  • link text:基于文本定位链接标签

  • partial link text:类似于SQL中的like%,模糊查找

  • tag name:基于标签名称来查找元素,大概率有多个结果,一般用于查找多个重复的内容的时候使用。

  • class:基于class属性进行元素查找,非必要不推荐,重复率高

  • css selector:定位界万金油,有自己的独特语法,定位语法麻烦,基于标签的class内容进行定位,使用copy

  • selector确定位置

xpath:定位界万金油,有自己的独特语法,定位速度慢,基于树状结构形态定位,使用Copy XPath, Copy full

XPath来确定位置

总结:有id用id,没id用name,都不行用css/xpath,链接可以用link text。find_element元素定位如果同时有多个结果,默认返回定位的第一个结果;find_elements元素定位返回一个列表

测试目的

测试Selenium4的8种元素定位方法

ID、CSS_SELECTOR,Xpath

输入栏输入"冷吃兔",点击搜索

代码示例

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service

service = Service(executable_path=r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.implicitly_wait(5)
driver.get(url="https://www.jd.com/")
# id
driver.find_element(by=By.ID, value="key").send_keys("冷吃兔")
# css selector
# time.sleep(3)
driver.find_element(by=By.CSS_SELECTOR, value="#search > div > div.form > button > i").click()
# xpath
# time.sleep(3)
driver.find_element(by=By.XPATH, value='//*[@id="J_goodsList"]/ul/li[1]/div/div[3]/a/em').click()
time.sleep(3)
driver.quit()

结果展示

NAME、LINK_TEXT、PARTIAL_LINK_TEXT

代码示例

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get(url="https://www.baidu.com/")
driver.implicitly_wait(5)
# NAME
driver.find_element(by=By.NAME, value="wd").send_keys("麻婆豆腐")
time.sleep(5)
# LINK_TEXT
driver.get(url="https://www.baidu.com/")
driver.find_element(by=By.LINK_TEXT,value="新闻").click()
# PARTIAL_LINK_TEXT
driver.get(url="https://www.baidu.com/")
driver.find_element(by=By.PARTIAL_LINK_TEXT,value="贴").click()
time.sleep(30)

结果展示

selenium 标签,python,Powered by 金山文档
TAG_NAME、CLASS

代码示例

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get(url="https://www.baidu.com/")
driver.implicitly_wait(5)
# # NAME
# driver.find_element(by=By.NAME, value="wd").send_keys("麻婆豆腐")
# time.sleep(5)
# # LINK_TEXT
# driver.get(url="https://www.baidu.com/")
# driver.find_element(by=By.LINK_TEXT, value="新闻").click()
# # PARTIAL_LINK_TEXT
# driver.get(url="https://www.baidu.com/")
# driver.find_element(by=By.PARTIAL_LINK_TEXT, value="贴").click()
# # CSS 、TAG_NAME、CLASS
# driver.get(url="https://www.baidu.com/")
# driver.find_element(by=By.CSS_SELECTOR,value="#s-top-left > a:nth-child(6)").click()
# TAG_NAME
driver.get("http://116.62.46.10:91/admin/open/login")
# CLASS
driver.get(url="https://www.baidu.com/")
driver.find_element(by=By.CLASS_NAME, value="title-text").click()

time.sleep(30)

关于Selenium 4.+ 标签定位8种方法的文章就介绍到这了文章来源地址https://www.toymoban.com/news/detail-726764.html

到了这里,关于Selenium 4.+.+ 标签定位8种方法详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium—xpath定位方法详解

    今天我们来聊聊selenium -- xpath定位方法,我们都知道selenium有八大定位策略分别是id、name、class name、tag name、link text、partial link text、xpath、css 。那么我们今天呢主要来讲讲八大定位策略中的xpath的定位方法,废话不多说我们直接开始吧。  同时,我也准备了一份软件测试视频

    2024年02月04日
    浏览(30)
  • 自学Python 69 Selenium八大元素定位方法(新版BY方法)_selenium定位元素的方法和优缺点

    文章目录 Python Selenium八大元素定位方法(新版BY方法) 前言 一、常用的八种定位方法(新旧对比) 二、查看网页元素 三、八大元素定位示例 1、id定位 2、name定位 3、class定位 4、tag定位 5、link定位 6、partial_link定位 7、xpath定位 8、CSS定位 在学习使用Selenium对网页元素进行定位时

    2024年04月22日
    浏览(35)
  • Python Selenium 八大元素定位方法(下)

    今天我们来学习UI自动化中,剩余五个元素定位方法:tag_name、link_text、partial_link_text、Xpath、css_selector 以tag_name元素定位为例 HTML是由不同的标签组成的,每个标签都是指的同一类,所以用tag定位效率低下,一般不建议使用。 以link_text元素定位为例 1、使用F12,定位到含有链接

    2024年02月12日
    浏览(32)
  • 【Python中Selenium元素定位的各种方法】

    1、元素定位操作: 2、创建浏览器驱动操作,导入By模块: 3、ID元素定位 4、name元素定位 5、class_name:class属性元素定位 6、tag_name:标签名元素定位 7、link_text:超链接标签元素定位 8、partial_link_text:超链接标签(模糊)元素定位 9、xpath:路径(绝对路径、相对路径)元素定位

    2024年02月19日
    浏览(28)
  • 关于Python中使用selenium八大定位方法

    1.通过id元素定位                             .find_element_by_id(\\\"id\\\") 2.通过name元素定位                       .find_element_by_name(\\\"name\\\")     3.通过路径导航定位                         .find_element_by_xpath(\\\"xpath\\\")          说明 :右键所选的网页元素,点击copy,点击copy ,x

    2023年04月23日
    浏览(36)
  • 【Python】Selenium多级悬浮菜单定位方法分享

    举例图: 以下菜单选择需逐级鼠标悬浮显示才可选择 注明: 示例代码: 本文均为本人编写,本文如有侵权请告知删除。

    2024年02月12日
    浏览(29)
  • 使用selenium解决svg标签定位问题

    使用正常的定位方式无法识别到svg标签; 解决方法: //div[@class=“ant-table-tbody”]/ [name()=“svg”]/ [name()=“use”]

    2024年02月12日
    浏览(31)
  • 自学Python 69 Selenium八大元素定位方法(新版BY方法)

      在学习使用Selenium对网页元素进行定位时,发现很多教程依然使用老版的元素定位方法,但是对于新版selenium来说,已经弃用了之前的元素定位方法,所以在使用的时候会发现有报错,会被一条横线划掉。所以今天来总结一下新版selenium对网页元素进行定位的操作方法。

    2024年02月13日
    浏览(38)
  • 【Python】Python 模块用法:selenium 4 版本页面元素定位方法汇总

    目录 一、定位页面元素方法源码说明  (1)Webdriver.common (2)selenium.webdriver.common.by (3)By 二、定位页面元素方法用法汇总 (1)2.0 及以下低版本 selenium :By 定位页面元素方法用法(可忽略) (2)3.0 ~ 3.9 版本 selenium:By 定位页面元素方法用法 (3)4.0 ~ 4.9 版本 selenium:

    2023年04月13日
    浏览(76)
  • web自动化系列-selenium find_elements定位方法详解(八)

    接上文 : web自动化测试系列-selenium css_selector定位方法详解(七)-CSDN博客 前面已经介绍了8种定位方法 ,大多数情况下我们都会优先使用这8种方法 。 但有的时候在你选择定位元素时 ,会出现多个同样的定位属性和值 。而且你能选择定位也就这一种情况 。这种情况你只能使用

    2024年04月16日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包