我正在编写一些selenium Java代码,并使用executeScript执行JavaScript代码,如下所示:
WebElement menu = driver.findElement(By.cssSelector(string1));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", menu);我希望能够做的是检测元素是否可以被单击,如果按钮被禁用,那么单击事件将不会触发,因此我需要一个标志。JS的问题是单击事件返回未定义。
因此,我的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代码都已经提供了。
发布于 2017-05-09 22:12:19
您可以尝试执行以下操作:
boolean flag_to_stop = false;
try{
((JavascriptExecutor) driver).executeScript("arguments[0].click();", menu);
flag_to_stop = true;
}
catch{Exception e){
flag_to_stop = false;
}https://stackoverflow.com/questions/43864113
复制相似问题