【问题标题】:TorBrowserDriver.get function gets stuck after invoking the URL (python)TorBrowserDriver.get 函数在调用 URL (python) 后卡住
【发布时间】:2020-09-19 16:28:07
【问题描述】:

我正在使用 TorBrowserDriver 下载几个文件。执行第一个 URL 后,我可以在 TorBrowser 的下载目录中找到该文件,但此时执行卡住了。

以下是我的代码,

from tbselenium.tbdriver import TorBrowserDriver
import time
driver = TorBrowserDriver(PATH_OF_TOR_DRIVER)
for url in urls:
    try:
        driver.get(url)
        time.sleep(DELAY_IN_SECONDS)
    except :
        print("error occured, closing the connection.")
        driver.close()

我还尝试了一些解决方法,例如 func_timeout 库,如果块停留超过 x 秒,则终止该块,但驱动程序不会终止,并且由于许多活动驱动程序占用了大量内存。

另外,我是 TorBrowserDriver 的新手,所以请原谅任何错误。

谢谢。

【问题讨论】:

    标签: python selenium selenium-webdriver tor


    【解决方案1】:

    为了终止浏览器实例,您需要使用“driver.quit()”。您正在使用“driver.close()”,它只会关闭窗口但不会杀死浏览器实例。

    您的代码将更改为

    for url in urls:
        driver = TorBrowserDriver(PATH_OF_TOR_DRIVER)
        try:
            driver.get(url)
            time.sleep(DELAY_IN_SECONDS)
        except :
            print("error occured, closing the connection.")
            driver.quit()
    

    【讨论】:

    • 抱歉不清楚,但问题出在driver.get(url)。执行此行后,它会下载一个文件,然后执行会卡住并且不会继续进行。我没有收到任何异常。(try/except 块可以处理任何格式错误的 url)
    • 我们没有提供所有代码 - 所以我们不能只是猜测。也许文件正在下载,也许进程被挂起等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    相关资源
    最近更新 更多