我正在研究一些selenium Java代码,并且我使用executeScript执行JavaScript代码,如下所示:
WebElement menu = driver.findElement(By.cssSelector(string1));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", menu);
我希望能够检测是否可以单击该元素,如果该按钮被禁用,则单击事件不会触发,因此我需要一个标志。 JS的问题是click事件返回undefined。
所以我需要在executeScript中包含一个标志,例如:
Object flag_to_stop = ((JavascriptExecutor) driver).executeScript("<<something here if returns true string else returns false string>>, menu);
while (Object.toString.equals(<<true string>>))
然后我可以执行while循环,如果flag_to_stop为false,我可以中断;
任何建议家伙?
这主要是一个JavaScript问题,已经提供了所有Java代码。
答案 0 :(得分:0)
你可以试试以下:
boolean flag_to_stop = false;
try{
((JavascriptExecutor) driver).executeScript("arguments[0].click();", menu);
flag_to_stop = true;
}
catch{Exception e){
flag_to_stop = false;
}