selenium button无法点击(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()以上就是python Selenium等待元素出现的方法 ,希望对大家有所帮助 。更多Python学习指路:Python基础教程
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!