Как использовать профили Chrome через Headless Chrome с помощью Selenium и Python

def __init__(self):
        options = webdriver.ChromeOptions()
        options.add_argument("user-data-dir=bot_data")
        options.add_argument("--headless") # Runs Chrome in headless mode.
        options.add_argument('--no-sandbox') # Bypass OS security model
        options.add_argument('--disable-gpu')  # applicable to windows os only
        options.add_argument('start-maximized') # 
        options.add_argument('disable-infobars')
        options.add_argument("--disable-extensions")
        # self.driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
        self.driver = webdriver.Chrome('chromedriver.exe',
                                               options=options)
        self.driver.get('https://www.google.com')
        self.wait = WebDriverWait(self.driver, 10)

Есть у меня коды. Я хочу поменять его на безголовый браузер. Но я получаю сообщение об ошибке.

Я добавил снимок экрана, чтобы показать ошибку.

СКРЕНШОТ ОШИБКИ

1 ответ

Это сообщение об ошибке...

ERROR:devtools_http_handler.cc(288)] Error writing DevTools active port to file

... означает, что при записи активного порта DevTools в требуемый файл произошла ошибка.

Согласно обсуждению в разделе Как открыть профиль Chrome через Python вместо указания только имени каталога черезuser-data-dir, Вам нужно пройти полный путь изuser-data-dir.


Решение

Итак, вам нужно заменить строку кода:

options.add_argument("user-data-dir=bot_data")

С:

options.add_argument("user-data-dir=C:\\Users\\AtechM_03\\AppData\\Local\\Google\\Chrome\\User Data\\bot_data")

Ссылка

Вы можете найти пару соответствующих обсуждений в:


Outro

Пара соответствующих документов:

Другие вопросы по тегам