SeleniumPython:如何让我的webdriver在重新加载页面之前几秒钟就启动了?

2024-09-29 19:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我有一段代码检查网页的一部分,看看状态是否已更改,以进入脚本的下一步。如果没有刷新页面,它会刷新页面,理想情况下,我希望脚本在页面上等待大约5-10秒,然后再刷新页面。以下是我当前的循环:

orderElem = driver.find_element(By.CSS_SELECTOR, "dd.Production.Status")

while(orderElem.text != "Output Complete"):
        WebDriverWait(driver, 10)
        driver.refresh()
        WebDriverWait(driver, 5).until(
            EC.visibility_of_element_located((By.CSS_SELECTOR, "dd.Production.Status"))
        )
        orderElem = driver.find_element(By.CSS_SELECTOR, "dd.Production.Status")

Tags: 代码脚本网页bydriverstatus页面element
1条回答
网友
1楼 · 发布于 2024-09-29 19:26:56

您可以显式地使用time.sleep(10)而不是WebDriverWait等待。

似乎您正在尝试每隔10秒刷新一次轮询页面,直到orderElem.text == 'Output Complete',在这种情况下:

def until_func(driver):
    driver.refresh()
    elem = driver.find_element_by_css_selector("dd.Production.Status")
    if elem.is_displayed() and elem.text == 'Output Complete':
        return elem
orderElem = WebDriverWait(driver, timeout=60, poll_frequency=10).until(until_func)

这将每10秒刷新一次页面,检查所需的元素是否可见以及文本是否正确,并在满足这些条件时返回元素。

相关问题 更多 >

    热门问题