Maison >développement back-end >Tutoriel Python >Comment WebDriverWait de Selenium peut-il garantir la visibilité et l'interactabilité des éléments avant l'action ?
En attente de visibilité, d'état activé et d'interactabilité avec Selenium
Dans Selenium, attendre efficacement l'apparition, la visibilité et l'interactabilité d'un Cet élément est crucial pour une automatisation fiable. Une approche courante consiste à utiliser la fonction sleep(), mais WebDriverWait propose une solution plus efficace.
Pour attendre la présence d'un élément, la condition présence_of_element_located() peut être utilisée. Pour la visibilité, la condition visibilité_of_element_located() garantit que l'élément est affiché avec des dimensions non nulles. Enfin, pour attendre l'interactivité, comme la possibilité de cliquer sur un élément, element_to_be_clickable() peut être utilisé.
Dans votre scénario spécifique, où vous souhaitez attendre que la classe .anonemail apparaisse, vous pouvez utiliser la condition de visibilité_of_element_located() comme suit :
WebDriverWait(browser, 20).until( EC.visibility_of_element_located((By.CSS_SELECTOR, ".anonemail")) ) email = browser.find_element_by_css_selector(".anonemail").get_attribute("value")
En employant ces conditions WebDriverWait, vous pouvez vous assurer que votre Selenium les scripts attendent efficacement l'état de l'élément requis avant d'effectuer des actions ou de récupérer des informations, éliminant ainsi le besoin d'intervalles sleep() peu fiables.
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!