• 技术文章 >Python技术 >Python基础教程

    python Selenium如何等待元素出现

    小妮浅浅小妮浅浅2021-09-03 10:45:53原创3705

    有一个 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基础教程

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

    专题推荐:pythonselenium
    上一篇:python如何检测pygame中的碰撞 下一篇:Python中cProfile分析工具的使用

    相关文章推荐

    • python如何快速建立生成器• python中for语句读取生成器• Python脚本如何调用外部命令• python字符串转换为日期时间• python计算列表项出现次数的方法• Python操作PgSQL数据库的方法• Python numpy有哪些功能优于列表• python列表有什么特点• python操作文件模式的介绍• Python with as如何使用• Python如何从列表中获取笛卡尔积• python如何检测pygame中的碰撞

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网