Открытый драйвер Python Selen, когда сеанс Chrome уже запущен - PullRequest
1 голос
/ 13 июня 2019

Я пытаюсь открыть веб-страницу с использованием библиотеки python selenium с моим пользователем по умолчанию, очень важно, чтобы скрипт использовал пользователя по умолчанию, но если мой браузер chrome уже открыт, скрипт вылетает и выдает мне эту ошибку:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir

Я перепробовал все решения, приведенные здесь:

Selenium chromedriver не будет запускать URL, если открыт другой экземпляр Chrome

Selenium не будет открывать новый URL в новой вкладке (Python & Chrome)

и прочитайте, что в старых версиях chromedriver была ошибка, но она была исправлена ​​в chrome 74 (который я использую): https://github.com/SeleniumHQ/docker-selenium/issues/741

from selenium import webdriver
import time
from getpass import getuser

def run():
    # Chrome driver path
    chromedriver = r'C:\Users\user1\Downloads\chromedriver_win32\chromedriver_new.exe'

    # Get chrome webdriver options and set open the browser as headless
    chrome_options = webdriver.ChromeOptions()
    #chrome_options.add_argument("--headless")

    # Fix for selenium Issue 2907
    #chrome_options.add_argument('--log-level=3')
    #chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])

    # Load current user default profile
    current_user = getuser()
    chrome_options.add_argument(
        r"--user-data-dir=C:\Users\{}\AppData\Local\Google\Chrome\User Data".format(current_user))

    # didable "Chrome is being controled by an automated test software"
    chrome_options.add_argument('disable-infobars')

    # get Chrome to stay open
    chrome_options.add_experimental_option("detach", True)

    # open browser with options and driver
    driver = webdriver.Chrome(options=chrome_options, executable_path=chromedriver)
    driver.get(r'https://www.youtube.com/watch?v=dQw4w9WgXcQ')



if __name__ == '__main__':
    run()

если я запускаю его без браузера Chrome, откройте его нормально, если не произойдет сбой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...