单击JavaScript单击如果不为false则返回true

时间:2017-05-09 07:49:06

标签: javascript java selenium

我正在研究一些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代码。

1 个答案:

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