Я пытаюсь открыть веб-страницу с использованием библиотеки 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, откройте его нормально, если не произойдет сбой