Функция TorBrowserDriver.get застревает после вызова URL (python)

#python #selenium #selenium-webdriver #tor

#python #селен #selenium-webdriver #tor

Вопрос:

Я использую 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, поэтому, пожалуйста, извините за любые ошибки.

Спасибо.

Ответ №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()
  

Комментарии:

1. извиняюсь за неясность, но проблема в driver.get(url) . после выполнения этой строки он загружает файл, и выполнение застревает и не продолжается дальше. Я не получаю никаких исключений. (блок try / except предназначен для обработки любого неверно сформированного URL)

2. мы не предоставили весь код, поэтому мы не можем просто догадываться. Возможно, файл загружается, возможно, процесс зависает и т.д.