您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python selenium:在单击click()命令后不等待页面加载

python selenium:在单击click()命令后不等待页面加载

从根本上讲,如果页面是由JavaScript生成的,则无法得知页面何时“完成”加载。

然而。我通常尝试检索页面元素,捕获异常并继续尝试直到达到超时。我可能还会检查该元素是否可见,而不仅仅是存在。

必须有一些DOM元素,其可见性可用于测试页面“完成”加载。我的测试用例中通常有一个wait_for_element_visibilitywait_for_element_presence函数

def wait_for_visibility(self, selector, timeout_seconds=10):
    retries = timeout_seconds
    while retries:
        try:
            element = self.get_via_css(selector)
            if element.is_displayed():
                return element
        except (exceptions.NoSuchElementException,
                exceptions.StaleElementReferenceException):
            if retries <= 0:
                raise
            else:
                pass

        retries = retries - 1
        time.sleep(pause_interval)
    raise exceptions.ElementNotVisibleException(
        "Element %s not visible despite waiting for %s seconds" % (
            selector, timeout_seconds)
    )

get_via_css 是我自己的功能之一,但我希望它很清楚自己在做什么。

python 2022/1/1 18:21:43 有464人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶