Dans Selenium, il est souvent nécessaire d'attendre qu'un élément apparaisse avant d'interagir avec lui. Utiliser sleep() pour attendre n'est pas fiable, car le temps d'apparition de l'élément peut varier. Au lieu de cela, vous devez exploiter WebDriverWait et les conditions attendues.
En attente de la présence d'un élément
Pour vérifier la présence d'un élément sur le DOM, définissez les conditions_attendues sur présence_of_element_located(). Cela ne nécessite pas que l'élément soit visible. Par exemple :
WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
En attente de la visibilité d'un élément
Pour extraire un attribut d'un élément, utilisez visibilité_of_element_located(). Cela garantit que l'élément est visible et a des dimensions non nulles.
email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".anonemail"))).get_attribute("value")
En attente de la cliquabilité de l'élément
Pour cliquer sur un élément, définissez Expected_conditions sur element_to_be_clickable() . Cela vérifie si l'élément est visible et activé pour l'interaction.
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
Références supplémentaires
Pour plus d'informations, reportez-vous aux ressources suivantes :
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!