Je suis conscient que la façon générale, il est testé que WebElement est cliquable:Java + Selenium: Comment savoir si WebElement est cliquable d'une autre manière que isDisplayed, isEnabled et findElement?
Le test dans quelque chose comme ceci:
public static boolean isElementFoundDisplayedEnabled(WebDriver driver, String accessor){
return driver.findElements(By.xpath(accessor)).size() > 0 && driver.findElement(By.xpath(accessor)).isDisplayed() && driver.findElement(By.xpath(accessor)).isEnabled();
//isDisplayed(): method avoids the problem of having to parse an element's "style" attribute to check hidden/visible. False when element is not present
//isEnabled(): generally return true for everything but disabled input elements.
}
Cette fonction a défaut, qu'il vérifie seulement si l'élément est cliquable à DOM niveau, mais si à cause d'un gâchis css, l'élément est caché/chevauché, on peut obtenir Exception:
org.openqa.selenium.WebDriverException: unknown error: Element is not clickable at point (781, 704). Other element would receive the click:
...
Dans de telles situations, on peut toujours cliquer sur l'élément en utilisant:
// Assume driver is a valid WebDriver instance that
// has been properly instantiated elsewhere.
WebElement element = driver.findElement(By.id("gbqfd"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
Mais, je voudrais savoir, comment nous pouvons vérifier sans cliquer à travers executor.executeScript
que, que WebElement n'est pas caché/chevauché par un autre élément et est PARFAITEMENT cliquable.
Quelqu'un peut-il s'il vous plaît jeter quelque chose, j'ai fait quelques heures de recherche sur ces derniers et atteint nulle part.
Cela ne répond pas à la question. – JeffC
J'ai modifié ma méthode pour vérifier la fonctionnalité cliquable qui devrait maintenant répondre à la question de la vérification sans réellement cliquer sur l'élément Web. – amateurCoder
@JeffC Je crois aussi par sa question que son exigence n'était pas de cliquer sur l'élément avant de vérifier si l'élément est cliquable ou non. Je vois que vous avez cliqué sur l'élément tout de suite dans votre réponse. – amateurCoder