Skip to main content
 首页 » 编程设计

python之单击前 Selenium webdriver 高亮元素

2024年08月30日46mfrbuaa

我正在研究一组用 Python 编写的 selenium UI 测试。在之前的项目中,我使用的是 WatiN 和 C#。

WatiN 框架有一项您可以启用的功能,它会“突出显示”您正在单击、选择或输入的元素。执行操作时,元素周围会出现黄色边框。我发现这在解决损坏的测试时非常有用,如果单击了错误的元素,我经常可以从测试运行中看到。

我想知道 Selenium webdriver 是否具有我可以打开的类似功能。基本上我想要某种视觉指示来指示正在与之交互的元素。

谢谢!

请您参考如下方法:

Selenium RC 可以做到这一点,但在 WebDriver 中没有直接的 API 方法来做到这一点。您的选择是:

1) 在您的语言绑定(bind)中使用 WebDriverBackedSelenium 实现来访问 Highlight 方法。

2) 只需使用 JavascriptExecutor(或您的语言绑定(bind)中的类似实现)调用一些 javascript 即可为您完成这项工作。这将模仿 Selenium RC/选项 1 将实现的目标。

要调用的 Javascript 存在于此处:

http://code.google.com/p/selenium/source/browse/javascript/selenium-core/scripts/htmlutils.js

要注意的函数是highlight函数。只需使用 JavascriptExecutor 加载此脚本(搜索以了解如何使用您的编程语言执行此操作)。

然后您可以比较它以查看 Java API 中的 WebDriverBackedSelenium 实现如何使用它:

http://code.google.com/p/selenium/source/browse/java/client/src/org/openqa/selenium/internal/seleniumemulation/Highlight.java

使用它,在您自己的代码中执行相同的操作。

附带说明一下,用于 Firefox 的 Selenium IDE 也可以突出显示方法。