Selenium webdriver重复下载冻结程序

时间:2014-04-19 16:44:18

标签: python selenium

当下载1000多个页面时,python程序会减慢到看起来停止的程度(虽然它仍然在运行)。这发生在大约300页。

我认为我的配置在我的下载方法中可能不正确。关于我可能做错什么的任何建议?

下面的代码来自for循环中调用的方法。

    vdisplay = None
    browser = None

    try:
        if onLinux:
            vdisplay = Display(visible=0, size=(800, 600))
            vdisplay.start()

        browser = webdriver.Firefox()
        browser.set_page_load_timeout(40)  # seconds
        browser.get(requestUrl)
        wait = ui.WebDriverWait(browser, 40) # timeout after 40 seconds

        #convert to string and then to a soup object
        page = browser.page_source.encode('utf-8', 'ignore')
        sourceSoup = BeautifulSoup(page)

    except Exception:
        traceback.print_exc()

    finally:
        #stop headless browser if on Linux
        if onLinux:
            if browser is not None:
                browser.close()
                browser.quit()

            if vdisplay is not None:
                vdisplay.stop()

    return sourceSoup

0 个答案:

没有答案