下面是我用来突出显示元素的代码。
public static void highLightElement(WebDriver driver, WebElement element)
{
JavascriptExecutor js=(JavascriptExecutor)driver;
js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');", element);
try
{
Thread.sleep(1000);
}
catch (InterruptedException e) {
System.out.println(e.getMessage());
}
js.executeScript("arguments[0].setAttribute('style','border: solid 2px white');", element);
}
}
现在我称这可以重复使用我的代码。但我想以这样的方式使用它,只有当我使用某种标志时才会突出显示元素(true)。我的动机是它不会突出显示正常执行中的元素,但如果我标记它,我可以在调试时看到突出显示的元素。谢谢你的帮助。
答案 0 :(得分:0)
调用您的方法时,会向您的方法发送一个布尔参数(flag),如下所述。
public static void highLightElement(WebDriver driver,WebElement element,boolean flag) throws InterruptedException
{
if(flag==true){
JavascriptExecutor js=(JavascriptExecutor)driver;
js.executeScript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');", element);
Thread.sleep(2000);
js.executeScript("arguments[0].setAttribute('style','border: solid 2px white');", element);
}
else{
// lines of code
}
}