Python 使用SeleniumWebDriver异步重新加载页面

Python 使用SeleniumWebDriver异步重新加载页面,python,selenium,selenium-webdriver,page-refresh,selenium-firefoxdriver,Python,Selenium,Selenium Webdriver,Page Refresh,Selenium Firefoxdriver,我正在使用最新的Firefox webdriver和selenium。我正在尝试制作一个清单检查器机器人,它定期刷新一堆页面。因为我有很多链接,为了节省内存,我实现了它,这样每个页面都可以在不同的firefox选项卡中打开 为了刷新选项卡,我需要切换到它,然后刷新当前页面。但是,driver.refresh()某些网站需要约10秒钟才能刷新,而且由于我无法同时刷新任何其他页面,这大大降低了我的工作负载 driver = webdriver.Firefox() def refresh_page(

我正在使用最新的Firefox webdriver和selenium。我正在尝试制作一个清单检查器机器人,它定期刷新一堆页面。因为我有很多链接,为了节省内存,我实现了它,这样每个页面都可以在不同的firefox选项卡中打开

为了刷新选项卡,我需要切换到它,然后刷新当前页面。但是,
driver.refresh()
某些网站需要约10秒钟才能刷新,而且由于我无法同时刷新任何其他页面,这大大降低了我的工作负载

driver = webdriver.Firefox()

def refresh_page(self):
    logging.info('Starting to refresh page %s', self.url)
    self.switch_to()
    time.sleep(self.delay)
    # driver.find_element_by_tag_name('body').send_keys(Keys.F5)
    driver.refresh()
    logging.info('Finished refreshing page')

def switch_to(self):
    driver.switch_to.window(self.tab)

有没有办法异步刷新页面?看起来其他人遇到了相同的问题:


由于某些原因,发送F5键不起作用。我也尝试过调用
driver.get(self.url)
,但运气不佳(仍然是同步的)。另一个解决方案可能是找到一种方法,一次同步重新加载所有选项卡,但我也没有找到解决方案。

我想我通过执行自定义脚本找到了解决方法:

driver = webdriver.Firefox()

def refresh_page(self):
    logging.info('Starting to refresh page %s', self.url)
    self.switch_to()
    time.sleep(self.delay)
    driver.execute_script("location.reload()")
    logging.info('Finished refreshing page')

def switch_to(self):
    driver.switch_to.window(self.tab)
但如果有人有任何其他建议,请告诉我。另一个有同样问题的人(有问题的链接)说,这并不总是有效的,所以我们只能等着看