Selenium自动化实现高亮显示定位到的元素

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

在调试Selenium脚本中,有时因为操作太快或操作不明显而不清楚是否定位到了正确的元素。我们可用通过执行js为定位到的元素添加样式,来高亮显示定位到的元素。

在Selenim Webdriver中,可以通过driver.exectue_scirpt() 执行JavaScript代码,执行的JavaScript代码是支持传入参数的,甚至可以传入定位到的元素,如:
exectue_script('js脚本', 参数1,参数2,参数3...),在JavaScript脚本字符串中使用arguments[n]来表示匹配第几个参数。

示例代码如下:

from selenium import webdriver
from time import sleep

STYLE = "background: green; border: 2px solid red;"  # 高亮的样式

def find(driver, by, expr):
    element = driver.find_element(by, expr)
    driver.execute_script("arguments[0].setAttribute('style', arguments[1]);",element, STYLE)  
    return element

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

find(driver, 'id', 'kw').send_keys("博客园 韩志超")
find(driver, 'id', 'su').click()

sleep(3)
driver.quit()

以上代码中,
by只定位方式,支持'id','xpath', 'name', 'class name', 'link text', 'partial link text', 'css selector', expr为元素对应的定位表达式。
driver.execute_script("arguments[0].setAttribute('style', arguments[1]);",element, STYLE)
将定位到的元素替换到arguments[0], 样式STYLE替换arguments[1],及为该元素添加高亮杨样式。

执行完结果如下图: 

selenium如何定位高亮元素,selenium,selenium,自动化,javascript

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

selenium如何定位高亮元素,selenium,selenium,自动化,javascript

selenium如何定位高亮元素,selenium,selenium,自动化,javascript

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!!
selenium如何定位高亮元素,selenium,selenium,自动化,javascript文章来源地址https://www.toymoban.com/news/detail-831044.html

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

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

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

相关文章

  • Python+selenium自动化元素定位防踩坑

    Python+selenium自动化元素定位防踩坑

    在自动化UI测试过程中常常会在元素定位阶段就踩坑,碰到困扰已久的问题。 以下是个人整理元素定位报错原因和解决方法。 踩坑一:StaleElementReferenceException selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document 异常原因:

    2024年02月06日
    浏览(14)
  • Web自动化 —— Selenium元素定位与防踩坑

    Web自动化 —— Selenium元素定位与防踩坑

    2. 基本元素定位二 3. CSS选择器定位法一 4. CSS选择器定位法二 浏览器完整的打开-关闭调用流程 5. xpath定位法 1、相对路径定位 //标签名[@属性名=\\\"属性值\\\"] 2、定位某个元素的父级元素 元素xpath/parent::\\\"父级元素标签名\\\" //*[@id=\\\"list\\\"]/dl/a/parent::dl 3、定位一组元素的第几个 xpath[数字

    2024年02月09日
    浏览(19)
  • web自动化测试理论之selenium八大定位 -(2)

    web自动化测试理论之selenium八大定位 -(2)

    概念:通过元素的id属性来定位元素。 前置:所要定位的元素必须有id属性 方法:driver.find_element_by_id(id属性值) 概念:通过元素的name属性来定位元素。 前置:所要定位的元素必须有name属性。 方法:driver.find_element_by_name(name属性值) 特点:当前页面可以重复 由于name属性值可以

    2024年02月09日
    浏览(15)
  • 【UI自动化】selenium元素定位各种框实例操作大全

    【UI自动化】selenium元素定位各种框实例操作大全

    Text: 元素是input标签但是不能输入内容 第五个input输入框, disabled 属性被设置为 \\\"true\\\" 。 它被禁用了无法接收用户的输入。 第六个input输入框, readonly 属性指示该元素是否只读 ,如果设置了该属性,表示该元素只读不可编辑。因此,当 readonly 属性存在时,该输入框是不可

    2024年01月18日
    浏览(16)
  • 【selenium模块-WEB自动化】八大网页元素定位方法(三)

    【selenium模块-WEB自动化】八大网页元素定位方法(三)

    一、id 定位 标签的 id 具有唯一性,就像人的身份证。 二、name 定位 name 指定标签的名称,在页面中可以不唯一。 三、class 定位 class 指定标签的类名,在页面中可以不唯一。 四、tag 定位 每个 tag 往往用来定义一类功能,所以通过 tag 来识别某个元素的成功率很低,每个页面

    2024年02月15日
    浏览(13)
  • java+selenium自动化测试之8大常用定位方法

    java+selenium自动化测试之8大常用定位方法

    定位元素:Selenium能够模拟用户去浏览器页面上执行对应(输入,点击,清除,提交)等操作,它是凭什么方式去寻找到页面的元素?Selenium没有视觉、听觉等。Selenium通过在页面上寻找元素位置,找到元素后,然后对元素进行相应的操作,Selenium寻找元素位置的方法,称之为

    2024年04月27日
    浏览(11)
  • Python+selenium自动化八大元素定位方法及实例(超详细)

    Python+selenium自动化八大元素定位方法及实例(超详细)

    目录 一、selenium模块中的find_element_by_id方法无法使用 二、Python+selenium自动化八大元素定位方法 使用场景: 1、通过id属性定位:driver.find_element(By.ID,\\\"value\\\") 2、通过name属性定位:driver.find_element(By.NAME,\\\"value\\\") 3、通过class属性定位:driver.find_element(By.CLASS_NAME,\\\"value\\\") 4、通过tag_name属

    2024年02月19日
    浏览(14)
  • python自动化测试selenium定位frame及iframe示例

    python自动化测试selenium定位frame及iframe示例

    这篇文章主要为大家介绍了python自动化测试selenium定位frame及iframe示例的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助 frame标签有frameset、frame、iframe三种,frameset和其它普通标签没有区别,不会影响正常定位,而frame与iframe对selenium定位而言是一样的。 Selenium有

    2024年01月20日
    浏览(17)
  • Python爬虫实战——Lazada商品数据(selenium自动化爬虫,xpath定位)

    Python爬虫实战——Lazada商品数据(selenium自动化爬虫,xpath定位)

            在此说明,这个项目是我第一次真正去爬的一个网站,里面写的代码我自己都看不下去,但是已经不想花时间去重构了,所以看个乐呵就好,要喷也可以(下手轻一点)。这篇文算是记录我的学习中出现的一些问题,不建议拿来学习和真拿我的代码去爬Lazada的数据,

    2024年02月02日
    浏览(8)
  • Selenium元素定位全攻略,让你轻松玩转自动化测试!

    Selenium元素定位全攻略,让你轻松玩转自动化测试!

    一、什么是元素定位 元素定位就是查找HTML元素的过程,操作页面元素之前,首先要对元素进行定位,所以定位是自动化脚本编写的开始。 通常使用find_element或find_elements方法来定位元素(find_element 使用给定的方法定位和查找一个元素;find_elements 使用给定的方法定位和查找所

    2024年02月04日
    浏览(18)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包