c# - Selenium WebDriver - 突出显示解决方案中的所有 Web 元素
问题描述
我想在测试运行期间突出显示每个 Web 元素(单击等)。大多数选项与下面的选项类似,需要将突出显示操作单独分配给每个 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)吗?
提前致谢。
解决方案
我认为您可以通过创建自己的 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;
}
推荐阅读
- angular - 如何在 Ionic CLI 5 中禁用自动生成路由模块?
- excel - 用于网络查询的动态 URL
- linux - Ghostscript 在 Linux 上绝对需要 root 访问权限吗?
- elasticsearch - 是否可以使用 org.springframework.data.elasticsearch.core.ReactiveElasticsearchTemplate 删除索引?
- ios - 在 AppStore Connect 中禁用可用国家/地区后对用户有什么副作用
- c# - 如何在 Controller 上添加 Web API 身份验证过滤器?
- javascript - 比较字符串数组和对象数组
- css - Safari:弹性盒和最小高度
- vue.js - vue v-model 似乎没有在模态下工作
- javascript - 将光标放在带有默认值的提示中的文本末尾