如何通过设置一些标志来突出显示元素

时间:2017-04-23 21:17:40

标签: java selenium

下面是我用来突出显示元素的代码。

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)。我的动机是它不会突出显示正常执行中的元素,但如果我标记它,我可以在调试时看到突出显示的元素。谢谢你的帮助。

1 个答案:

答案 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
        }

    }