WebElement点击被Selenium中的另一个WebElement阻塞

时间:2017-05-30 14:38:08

标签: javascript selenium selenium-webdriver

我无法点击WebElement(按钮),因为它被圈子隐藏了。 (覆盖)

如何点击按钮?

enter image description here

注意-001 移动圈元素 CAN 。我可以移动圆圈,但有时它会在按钮后面移动。

注意-002:我不想使用JavaScript按钮点击功能。 (JavascriptExecutor / .executeScript() / .execute()

如何知道圆圈何时位于按钮后面?

全部谢谢!

2 个答案:

答案 0 :(得分:0)

Selenium只能复制用户可以做的事情。实际上,用户无法与隐藏元素进行交互。因此,不使用javascript就无法点击隐藏按钮。

如果你想使用javascript:

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

答案 1 :(得分:0)

您可以执行以下操作:

public void foo(){
  try{
     button.click();
  }catch(Exception e){
   /**If I remember correctly, it will be an ElementNotVisible or ElementNotClickable Exception.
   *
   *Here you can move the circle element, possibly using a drag and drop
   *method of the Actions class then click the element one more time.
   */
     actions.dragAndDropBy(circleElement, xOffset, yOffset).perform();
     button.click();
  }
}

public boolean foo(){
  try{
     button.click();
     return true;
  }catch(Exception e){
     return false;
  }
}

public void bar(){
  if(!foo()){
     actions.dragAndDropBy(circleElement, xOffset, yOffset).perform();
     button.click();       
  }
}