我想在测试运行期间突出显示每个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)吗?
先谢谢了。
答案 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;
}