selenium定位元素方法

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

1、通过id定位元素

写法1:

element = driver.find_element_by_id("kw")

写法2:

from selenium.webdriver.common.by import By

element = driver.find_element(by=By.ID, value="kw")

Tips: by=By.ID表示以id的方式定位web元素,下面的例子有类似的写法以此类推

2、通过class定位元素

写法1:

cheeses = driver.find_elements_by_class_name("cheese")

Tips:注意,这里返回的是一个包含web元素的列表,下同

写法2:

from selenium.webdriver.common.by import By

cheeses = driver.find_elements(By.CLASS_NAME, "cheese")

3、通过name定位元素

写法1:

cheese = driver.find_element_by_name("cheese")

写法2:

from selenium.webdriver.common.by import By

cheese = driver.find_element(By.NAME, "cheese")

4、通过tag(html标签)定位元素

写法1:

如果iframe这个tag在本html中是唯一的,可以根据iframe这个tag名来找到该元素

frame = driver.find_element_by_tag_name("iframe")

写法2:

from selenium.webdriver.common.by import By

frame = driver.find_element(By.TAG_NAME, "iframe")

注意,通过title标签名获取title元素,打印的文本值为空:

ele2=driver.find_element_by_tag_name('title')

print(ele2.text)

5、获取页面中title值

Title是一个特殊的元素,标签内的文本表示页面的标题,

可以通过driver.title属性获取页面标题

6、通过超文本连接(link)来定位元素

写法1:

ele = driver.find_element_by_link_text("转到百度")

写法2:

from selenium.webdriver.common.by import By

ele = driver.find_element(By.LINK_TEXT, "转到百度")

7、通过partial_link定位

当全称很长时,使用模糊匹配

如百度首页,点击hao123时:

driver.find_element_by_partial_link_text('ao123').click()

8、css定位方法

https://www.cnblogs.com/aiyumo/p/12576150.html

9、xpath定位方法

https://www.cnblogs.com/aiyumo/p/12576380.html

总结:有时候通过上面的方法定位不到元素,只能根据上层元素去定位

注意:现在很多页面加载后(也加载javascript前端代码), 由前端代码动态改变界面的内容,比如从后端获取一些数据后,再动态改变界面的内容。尤其是很多采用了框架像   angular, react, vue这些都会这样做,这样会导致一个问题,操作后再去操作之前定位的元素,会报错,每次都要重新获取元素,使元素一直都是最新的。文章来源地址https://www.toymoban.com/news/detail-424246.html

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

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

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

相关文章

  • Selenium元素定位方法大全

    作为当下最流行的web UI自动化测试工具,selenium是很多测试同学入门接触自动化测试时学习的第一个工具。想要自动化操作页面上的内容,元素定位是首先必须要学习的核心知识。 因此本文主要介绍selenium的几种最常用的元素定位方法,掌握了这些方法,希望能帮助大家快速

    2024年02月02日
    浏览(67)
  • Selenium常用元素定位方法汇总

    目录 一、webdriver定位方法 1、xpath基本定位用法 2、xpath相对路径/绝对路径定位 3、xpath文本、模糊、逻辑定位 1、 id 定位 2、 name定位 3、 class定位 4、 link定位 --精准定位 5、 partial_link定位 --模糊定位 6、 tag_name定位 --标签名定位 找到页面上所有标签名为input的标签,返回一个列

    2024年02月02日
    浏览(45)
  • Selenium元素定位——八大方法详述

    元素:由标签头 + 标签尾 + 标签头和标签尾包括的文本内容; 元素的信息就是指元素的标签名及元素的属性; 元素的层级结构就是指元素之间相互嵌套的层级结构; 元素定位最终就是通过元素的信息或者元素的层级结构来进行元素定位; webdriver 提供了一系列的对象定位方

    2024年02月06日
    浏览(49)
  • Selenium元素定位方法:link_text定位

    概念:专门用来定位超链接元素(标签)。 练习元素定位使用Link_Text定位方式完成下面操作 打开注册A.html页面,完成以下操作 1).使用link_text定位(访问 新浪 网站)超链接,并点击 2).3秒后关闭浏览器窗口 ①.创建浏览器驱动 ②.打开测试网址 ③.获取要定位超链接文本类容,用拷

    2024年02月06日
    浏览(40)
  • Selenium元素定位方法:css_selector定位

    认识CSS定位 CSS: 概念:(Cascading Style Sheets)是一种语言,用来描述HTML元素的显示样式。 选择器:一种表达式,可以找到HTML中的标签元素。 css定位 概念:selenium利用选择器定位元素的定位方式。 方法:driver.find_element_by_css_selector(选择器表达式) 1、id选择器 语法: #id属性值 前

    2024年02月13日
    浏览(48)
  • selenium新版元素定位方法、元素操作与基本API

    注意:selenium新版元素定位需要导入方法By,使用By来调用元素定位方法     from selenium.webdriver.common.by import By     标签的 id属性具有唯一性,就像人的身份证,不存在根据一个id属性定位到多个标签的情况。假设有个iframe标签如下,其 id 属性值为\\\"actionFrame\\\"。 我们可以通过

    2024年02月03日
    浏览(66)
  • selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法

    目录 前言: 1、异常原因 2、解决方法: 当使用Selenium进行元素定位和交互时,可能会遇到 ElementClickInterceptedException (元素点击交互异常)的异常。这通常是由于页面上存在其他元素或弹出窗口遮挡了要点击的元素。 在编写ui自动化时,执行报错元素无法点击:ElementClickInt

    2024年02月12日
    浏览(46)
  • Python Selenium 八大元素定位方法(下)

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

    2024年02月12日
    浏览(45)
  • selenium脚本编写及八大元素定位方法

    selenium脚本编写 上篇文章介绍了selenium环境搭建,搭建好之后就可以开始写代码了 基础脚本,打开一个网址 打开本地HTML文件 上篇文章我自己写了一个html文件,放在了当前路径下 第一种方式 通过绝对路径打开 第二种方式 通过相对路径打开 本质上也是通过方法把相对路径转为

    2024年01月16日
    浏览(53)
  • 新版selenium定位全部相同class的元素或定位第二个元素的方法

    使用新版的selenium时发现网页代码中存在相同的class元素,想全部定位该class下的所有元素。以view-source:finance.sina.com.cn/money/globalindex/为例: 打开html代码后发现有多段class为head的代码,想全部提取用做index name。 老版selenium代码: #此段代码将会返回列表中从左往右数的第二个元

    2024年02月11日
    浏览(52)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包