Python 3.x 让Selenium WebDriver一次等待数小时的最佳方法是什么?
我想使用SeleniumWebDriver编写一个脚本,这样我就可以运行它并将它保留几个小时,程序会经常检查,看看我要求它搜索的元素是否出现 我会使用WebDriverWait,以等待元素出现并可单击Python 3.x 让Selenium WebDriver一次等待数小时的最佳方法是什么?,python-3.x,selenium,selenium-webdriver,web-scraping,Python 3.x,Selenium,Selenium Webdriver,Web Scraping,我想使用SeleniumWebDriver编写一个脚本,这样我就可以运行它并将它保留几个小时,程序会经常检查,看看我要求它搜索的元素是否出现 我会使用WebDriverWait,以等待元素出现并可单击 WebDriverWait(browser, 10).until(EC.element_to_be_clickable((lambda, "tag_to_be_chosen"))) 我环顾四周,但还没有找到确切的答案,但问题是,经过一定时间后,selenium会抛出一个TimeoutExcept
WebDriverWait(browser, 10).until(EC.element_to_be_clickable((lambda, "tag_to_be_chosen")))
我环顾四周,但还没有找到确切的答案,但问题是,经过一定时间后,selenium会抛出一个TimeoutException,因为在加载页面(这是预期的)之后,元素仍然没有出现
有没有办法延长WebDriver等待元素无限期出现的时间,只要窗口打开,驱动程序就在等待,javascript一运行,元素就被检测并单击?或者,我想,增加等待时间的代价是什么?显然,如果我需要它一次等待几个小时,将秒数从10秒改为3600秒
文档中提到了显式和隐式等待,但大多数人只在几秒钟或几分钟内使用它们;可能不是小时。如果需要等待小时,为什么不将超时设置为所需的时间?
WebDriverWait(browser,10000)
有什么问题?我更多的是问这样做是否有任何成本/负面影响,我不这么认为,但我想最好增加调用间隔,例如,1分钟-WebDriverWait(browser,10000,60)
。这应该允许您每分钟检查一次状况。请注意,默认轮询频率为0.5
秒,对于您的案例来说,这似乎非常频繁