【发布时间】:2023-03-21 00:32:02
【问题描述】:
我已经收到了一个现有的 selenium 框架,它使用 python 编写脚本。出于调试(和其他)目的,我想突出显示当前正在对其执行操作的元素(输入框、链接、下拉列表等)
虽然我可以找到定义函数并在需要突出显示元素的任何地方调用函数的解决方案(如下面给出的示例),但我需要的是框架级别的解决方案。
- Selenium webdriver highlight element before clicking
- https://seleniumwithjavapython.wordpress.com/selenium-with-python/intermediate-topics/playing-with-javascript-and-javascript-executor/highlighting-a-web-element-on-webpage/
是否可以在 Python(或任何其他可以与 python 脚本集成的语言)中实现框架/脚本级别的任何解决方案,这样我就不必显式调用函数。
附:我刚开始使用 Python,如果它简单/直截了当,请原谅。如果有人可以向我指出任何现有的解决方案或可以提供他们自己的解决方案,将不胜感激。
【问题讨论】:
-
我不明白需要突出显示该元素以进行调试。日志应该足以理解什么时候出错了。 santosh 提供的解决方案也会减慢您的执行速度。 (0.3 倍的元素数量)
-
我理解,但正如我所说,我是 Python 的新手(到目前为止只做了很少的编程),所以突出显示元素使我更容易调试故障点。我同意,几个月后我会习惯于使用日志进行调试,但现在我只能感谢任何解决我的问题的方法。
-
对此没有简单的解决方案。要么为要突出显示元素的每个动作编写包装器,要么在执行任何动作之前在测试中手动调用此方法。无论哪种方式都是昂贵的,当你必须禁用它时也会很昂贵。
-
感谢@GaurangShah
标签: javascript python selenium automation