有一个 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电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python 32位和64位有什么区别10/31
- ♥ python注释不能使用汉字怎么解决11/28
- ♥ python中如何判断是文件夹还是文件09/20
- ♥ python如何遍历列表08/29
- ♥ python检查列表值是否为空09/23
- ♥ 什么是python默认字典11/26
内容反馈