Se il problema è che l'elemento è scorrere fuori dallo schermo (e di conseguenza sotto qualcosa di simile a una barra di intestazione), si può provare a scorrere di nuovo in vista in questo modo:
private void scrollToElementAndClick(WebElement element) {
int yScrollPosition = element.getLocation().getY();
js.executeScript("window.scroll(0, " + yScrollPosition + ");");
element.click(); }
se è necessario si potrebbe anche aggiungere un offset statica (se per ad esempio si dispone di un'intestazione di pagina che è 200px alta e visualizzato sempre):
public static final int HEADER_OFFSET = 200;
private void scrollToElementAndClick(WebElement element) {
int yScrollPosition = element.getLocation().getY() - HEADER-OFFSET;
js.executeScript("window.scroll(0, " + yScrollPosition + ");");
element.click();
}
è possibile indirizzare clic utilizzando JavascriptExecutor
(Non recommanded)
WebElement element= driver.findElement(By."Your Locator"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);
Spero che vi aiuterà a:)
fonte
2016-04-20 06:39:21
Grazie signore !! Aggiornare chromedriver e abbinare il server standalone con la versione di selenio in gradle lavorato :) – MatMat