maccree
@maccree
freelance backend developer

Selenium undetected_chromedriver2 OSError: [WinError 6]?

Здравствуйте, при работе с Selenium столкнулся с ошибкой:

Exception ignored in: <function Chrome.__del__ at 0x000001553085B380>
Traceback (most recent call last):
  File "C:\Users\maccr\AppData\Local\Programs\Python\Python311\Lib\site-packages\undetected_chromedriver2\__init__.py", line 831, in __del__
  File "C:\Users\maccr\AppData\Local\Programs\Python\Python311\Lib\site-packages\undetected_chromedriver2\__init__.py", line 786, in quit
OSError: [WinError 6] Неверный дескриптор


import selenium
from selenium.webdriver.common.by import By
import undetected_chromedriver2 as uc

driver = uc.Chrome()
driver.get("link")
time.sleep(5)

log_in = driver.find_element(By.XPATH, '//*[@id="app"]/div[1]/div/div/div[2]/div/div/div[2]/button[1]/div')
log_in.click()

time.sleep(3)

phone_key = driver.find_element(By.XPATH, '//*[@id="layoutPage"]/div[1]/div/div/div[1]/section/div/div/div/div/div[3]/div/div[1]/label/div/div/input')
time.sleep(2)
phone_key.send_keys("nimber")
    
time.sleep(0.75)
login_button = driver.find_element(By.XPATH, '//*[@id="layoutPage"]/div[1]/div/div/div[1]/section/div/div/div/div/div[4]/button/span')
login_button.click


( использую undetected_chromedriver2 для обхода cloudflare )

В интернетах написали, что можно в __init__.py вставить
try:
  time.sleep(0.1)
except OSError:
  pass

но во второй версии UC это уже сделано

с чес связана ошибка и как ее можно пофиксить?
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ответы на вопрос 1
@mutras
в __init__.py, строке 838 (в момент написания актуальная версия 3.5.5)
def __del__(self):
    try:
        self.service.process.kill()
    except:  # noqa
        pass
    self.quit()


self.quit() сместите на 4 пробела вправо:
def __del__(self):
    try:
        self.service.process.kill()
    except:  # noqa
        pass
        self.quit()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы