Как предотвратить закрытие окна chromedriver незамеченным после последней строки кода

#python #selenium #web-scraping #selenium-chromedriver #undetected-chromedriver

Вопрос:

Я использую необнаруженный chromedriver в python selenium, моя проблема в том, что он всегда закрывает окно после завершения программы.

Например, у меня есть строка кода, такая как:

 driver.get('www.google.com')
 

Это, очевидно, открывает google, но затем сразу же закрывает окно. Когда я использую свой собственный chromedriver, окно остается открытым, и я все еще могу просматривать это окно, даже когда программа заканчивается.

Есть какие-нибудь решения?

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

1. Если в терминале появилась какая-либо ошибка, пожалуйста, вставьте ее также. При использовании на jupyter либо просмотрите консоль, либо запустите код в cmd, а затем просмотрите и вставьте сообщение об ошибке

2. Просто предложение, пока вы не найдете ответ, используйте time.sleep() для отладки. Это позволит вам заниматься серфингом в течение указанного времени.

Ответ №1:

Я просто добавляю функцию time.sleep(100) или убиваю ядро

Ответ №2:

Это связано с тем, что необнаруженный деструктор chromedriver завершает процесс chrome при уничтожении класса.

Затем вы можете расширить класс и переопределить __del__ метод

 import undetected_chromedriver.v2 as uc

class My_Chrome(uc.Chrome):
    def __del__(self):
        pass

driver = My_Chrome()
driver.get('www.google.com')
 

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

1. Это не работает для меня