Python Selenium : attendre la fin du chargement de l'élément
Lorsque vous travaillez avec Selenium en Python, il est essentiel d'attendre que les éléments soient complètement chargés avant d'interagir avec eux. La classe WebDriverWait facilite cette tâche.
Utilisation de element_to_be_clickable()
Dans votre code, vous avez utilisé element_to_be_clickable() pour vous assurer que l'élément est cliquable avant de continuer. Cependant, le formatage de votre code d'origine n'avait pas la syntaxe appropriée :
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="accountStandalone"]/div/div/div[2]/div/div/div[1]/button'))).click()
Le reformatage du code corrigera le problème et garantira que l'élément est prêt avant de continuer.
Scénarios d'attente alternatifs
Dans votre cas spécifique, vous avez mentionné que la page s'actualise automatiquement lors de la création réussie d'un compte. Si vous souhaitez gérer cette situation, vous pouvez envisager d'utiliser différentes stratégies d'attente :
WebDriverWait(driver, 20).until( EC.visibility_of_element_located((By.CSS_SELECTOR, ".confirmation-title")) )
try: WebDriverWait(driver, 20).until( EC.element_to_be_clickable((By.XPATH, "//button[@id='continue-button']") )).click() except (StaleElementReferenceException, ElementClickInterceptedException): # Handle element not found or intercepted errors
En adaptant ces stratégies, vous pouvez gérer différents comportements de page et vous assurer que votre script attend les conditions appropriées pour interagir avec les éléments de la page.
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!