Maison >Java >javaDidacticiel >Comment résoudre l'exception ElementNotInteractableException de Selenium lors de l'automatisation de la connexion Gmail ?
Lors de la tentative d'automatisation de la connexion Gmail à l'aide de Selenium WebDriver, les utilisateurs peut rencontrer le "ElementNotInteractableException."
Cette exception indique qu'un élément, bien que présent dans le DOM, n'est pas dans un état où il peut avec lequel interagir.
Les causes de cette exception peuvent varier. Voici quelques raisons et solutions courantes :
Dans le contexte de l'automatisation de la connexion Gmail à l'aide de Firefox, l'exception "ElementNotInteractableException" peut être résolue en ajoutant une attente explicite à l'aide de WebDriverWait. Le code mis à jour suivant illustre ceci :
System.setProperty("webdriver.gecko.driver", "C:UsersRuchiworkspace2SeleniumTestjargeckodriver-v0.17.0-win64geckodriver.exe");<br>WebDriver driver = nouveau FirefoxDriver();<br>driver.manage().window().maximize();<br>String url = "https://accounts.google.com/signin";<br>driver.get(url) ;<br>driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); <br>WebElement email_phone = driver.findElement(By.xpath("//input[@id='identifierId']"));<br>email_phone.sendKeys("[email protected]");<br>pilote. findElement(By.id("identifierNext")).click();<br>Mot de passe WebElement = driver.findElement(By.xpath("//input[@name='password']"));<br>WebDriverWait wait = new WebDriverWait(driver, 20);<br>wait.until(ExpectedConditions.elementToBeClickable(password));<br>password.sendKeys("test1");<br>driver.findElement(By.id("passwordNext")).click() ;<br>
En incorporant une attente explicite, le WebDriver attend que le champ "Mot de passe" soit rendu et cliquable avant d'interagir avec lui, résolvant "ElementNotInteractableException" et permettant une automatisation de connexion réussie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!