知行编程网知行编程网  2022-11-21 17:30 知行编程网 隐藏边栏  16 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python Selenium如何等待元素出现的相关知识,包括python列表弹出元素,以及python列表重复的元素及位置这些编程知识,希望对大家有参考作用。

python Selenium如何等待一个元素出现

有一个 Selenium 脚本(Python)可以单击回复按钮使 anonemail 类出现。 anonemail 类出现在不同的时间。因此,我必须使用 sleep 直到元素出现。

这是我迄今为止所拥有的:

browser.find_element_by_css_selector(".reply-button").click()
sleep(5)
email=browser.find_element_by_css_selector(".anonemail").get_attribute("value")


解决:


1、如果验证任何元素的存在,

检查元素

期望。



诱导WebDriverWait设置


expected_conditions 期望 presence_of_element_located() 检查元素是否存在于页面的 DOM 中。这并不一定意味着该元素是可见的。因此,有效的代码行是:

WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()



2、


如果获取任何元素的任何属性,请检查该元素的可见预期。



需要诱导

WebDriverWait设置。

expected_conditions 作为期望 visibility_of_element_located(locator) 检查元素是否存在于页面的 DOM 中并且是否可见。可见性意味着元素不仅被显示,而且高度和宽度也大于 0。因此在你的用例中,代码行将是:


email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "element_css"))).get_attribute("value")


3、如果用例要click()在任何元素上调用,

检查元素是否可见并启用。


要诱导WebDriverWait设置

expected_conditions作为element_to_be_clickable()检查元素是否可见并启用以便你可以单击它的期望。所以在你的用例中,代码行将是:

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()


本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享