Selenium占用太多时间加载页面

时间:2016-01-06 15:44:14

标签: python selenium web-crawler

我试图爬行哪个有很多东西并且需要花费大量时间才能完全加载。但是,我想要的东西加载速度非常快,但仍然执行driver.get(url)直到网页完全加载。 有没有办法防止这种情况发生?一旦我定义的某个元素出现在DOM中,就让get方法返回?我想在浏览器中停止工作。

1 个答案:

答案 0 :(得分:1)

因此,我发现的最佳解决方案是:

profile = webdriver.FirefoxProfile()
profile.set_preference("webdriver.load.strategy", "unstable")
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
driver.get(url)
try:
    wait = WebDriverWait(driver, timeout=20, poll_frequency=0.1)
    wait.until(<expectation object>)
finally:
    driver.execute_script("return window.stop")

这将停止浏览器加载页面,您仍然可以抓取并与加载的站点进行交互。