#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. мы не предоставили весь код, поэтому мы не можем просто догадываться. Возможно, файл загружается, возможно, процесс зависает и т.д.