Selenium WebDriver-突出显示解决方案中的所有Web元素

时间:2019-02-21 03:36:41

标签: c# selenium-webdriver nunit

我想在测试运行期间突出显示每个Web元素(点击等)。 大多数选项与以下要求类似的选项 分别为每个网络元素分配突出显示操作。

IWebElement element = urrentWebDriver.FindElement(By.XPath("//input[@id='ID']"));
IJavaScriptExecutor js = (IJavaScriptExecutor)currentWebDriver;

js.ExecuteScript("arguments[0].setAttribute('style', arguments[1]);", element, " border: 3px solid red;");

是否有一种方法可以使元素集体突出显示? 可以通过[SetUp](我正在使用Nunit)吗?

先谢谢了。

1 个答案:

答案 0 :(得分:1)

我认为您可以通过创建自己的findElement函数来解决问题。在返回元素之前,请使用javascript突出显示它。 不必调用 driver.findElement ,而是调用自己的findElement函数,该函数会执行相同的操作并突出显示该元素。

public WebElement findElement(By by) {
    WebElement element = driver.findElement(by);

    if (driver instanceof JavascriptExecutor) {
        ((JavascriptExecutor)driver).executeScript("arguments[0].style.border='3px solid red'", element);
    }
    return element;
}