Selenium Python:如何在重新加载页面前几秒钟使我的WebDriverWait生效?
因此,我有一段代码,检查网页的一部分,查看状态是否已更改,以进入脚本中的下一步。如果没有刷新页面,它会刷新页面。理想情况下,我希望脚本在此网页上等待大约5-10秒,然后再次刷新页面。以下是我当前的循环:Selenium Python:如何在重新加载页面前几秒钟使我的WebDriverWait生效?,python,selenium,selenium-webdriver,automation,qa,Python,Selenium,Selenium Webdriver,Automation,Qa,因此,我有一段代码,检查网页的一部分,查看状态是否已更改,以进入脚本中的下一步。如果没有刷新页面,它会刷新页面。理想情况下,我希望脚本在此网页上等待大约5-10秒,然后再次刷新页面。以下是我当前的循环: orderElem = driver.find_element(By.CSS_SELECTOR, "dd.Production.Status") while(orderElem.text != "Output Complete"): WebDriverWait(driver,
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")
您可以显式地等待
时间。sleep(10)
而不是WebDriverWait
似乎您正在尝试每10秒刷新一次轮询页面,直到orderElem.text==“输出完成”
,在这种情况下:
def until_func(驱动程序):
driver.refresh()
elem=驱动程序。通过css选择器(“dd.Production.Status”)查找元素
如果elem.is_display()且elem.text==“输出完成”:
返回元素
orderElem=WebDriverWait(驱动程序,超时=60,轮询频率=10)。直到(直到func)
这将每10秒刷新一次页面,检查所需的元素是否可见并具有正确的文本,并在满足这些条件时返回元素。您可以显式地等待
时间。sleep(10)
而不是WebDriverWait
似乎您正在尝试每10秒刷新一次轮询页面,直到orderElem.text==“输出完成”
,在这种情况下:
def until_func(驱动程序):
driver.refresh()
elem=驱动程序。通过css选择器(“dd.Production.Status”)查找元素
如果elem.is_display()且elem.text==“输出完成”:
返回元素
orderElem=WebDriverWait(驱动程序,超时=60,轮询频率=10)。直到(直到func)
这将每10秒刷新一次页面,检查所需的元素是否可见并具有正确的文本,并在满足这些条件时返回元素。您是否在寻找类似于
time.sleep()
?您是否在寻找类似于time.sleep()
的内容?谢谢。这个功能和time.sleep(10)一样完美。谢谢。这个功能和time.sleep(10)一样,工作得非常完美。