如何使用Selenium-Python突出显示网页上的元素?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (3)

我已经移交了一个使用python进行脚本编写的现有selenium框架。出于调试(和其他)目的,我想强调当前正在采取操作的元素(输入框,链接,下拉等)

虽然我可以找到定义函数的解决方案并在需要的地方调用函数来突出显示元素(如下面给出的示例),但我需要的是框架级别的解决方案。

  1. Selenium webdriver在点击之前突出显示元素
  2. https://seleniumwithjavapython.wordpress.com/selenium-with-python/intermediate-topics/playing-with-javascript-and-javascript-executor/highlighting-a-web-element-on-webpage/

是否可以在Python(或任何其他可以与python脚本集成的语言)的框架/脚本级别实现任何解决方案,这样我就不必显式调用这些函数。

PS我刚刚开始使用Python,请原谅我,如果它简单/直接。如果有人可以指出我现有的任何解决方案或者可以提供他们自己的解决方

提问于
用户回答回答于

我没有尝试过这段代码,但这应该可行。

import time

def highlight(element):
 """Highlights (blinks) a Selenium Webdriver element"""
  driver = element._parent
  def apply_style(s):
     driver.execute_script("arguments[0].setAttribute('style', arguments[1]);",element, s)
  original_style = element.get_attribute('style')
  apply_style("background: yellow; border: 2px solid red;")
  time.sleep(.3)
  apply_style(original_style)

希望这可以帮助。谢谢。

来源 - https://gist.github.com/dariodiaz/3104601

扫码关注云+社区

领取腾讯云代金券