Selênio: o elemento não pode ser clicado no ponto

Este problema é devido aochrome driver sempreclicks no meio doelement na tentativa de ser fiel ao que um usuário real faz. Então, eu estava pensando nesta abordagem:

Primeiro, em vez de localizar um elemento e clique em:

driver.fineElement(By.xpath("bla bla")).click()

Escreva uma função genérica que clique emWebElement:

def clickOnWebElement(WebElement webElement) {
 int counter = 0;
 boolean isClicked = false;

 Thread.sleep(1000);
try {
    while (count < 2 && !isClicked) {

     if (count == 0) {
        webElement.click()
        isClicked = true;
     }     
     else if (count == 1) {
        Actions action = new Actions(driver);
        action.moveToElement(webElement).click().perform();
        isClicked = true;
       }
     else if (count == 2) {
        JavascriptExecutor js =(JavascriptExecutor)driver;
       js.executeScript("window.scrollTo(0,"element.getLocation().x+")");
        webElement.click();
        isClicked = true;
       }
    }
  }
catch(Exception ex) {
    count++;
    Thread.sleep(2000);
  }
}

E então, quando essa exceção ocorrer, tente uma maneira diferente de clicar.

Você acha que essa abordagem pode funcionar?

questionAnswers(1)

yourAnswerToTheQuestion