Selenium webdriver 在单击之前突出显示元素

Posted

技术标签:

【中文标题】Selenium webdriver 在单击之前突出显示元素【英文标题】:Selenium webdriver highlight element before clicking 【发布时间】:2012-05-29 00:45:40 【问题描述】:

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

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

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

谢谢!

【问题讨论】:

【参考方案1】:

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

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

2) 只需使用javascriptExecutor(或您的语言绑定中的类似实现)调用一些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 也可以突出显示方法。

【讨论】:

以上链接导致 404。你能帮我获得同样的工作网址吗?

以上是关于Selenium webdriver 在单击之前突出显示元素的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 watir-webdriver/selenium-webdriver 脚本中按 CTRL+单击或 SHIFT+单击时出现“TypeError:无法将字符串转换为整数”

Selenium-Webdriver (Java) 无法始终执行“悬停和单击”功能

如何使用 selenium webdriver 单击此按钮?

如何在 Java 中使用 Selenium WebDriver 单击按钮?

右键单击并使用 Selenium webdriver 拖放

如何单击 Selenium WebDriver 中的隐藏元素?