Python Selenium在Chrome中作为新用户不断开放

Python Selenium在Chrome中作为新用户不断开放,python,windows,selenium,selenium-chromedriver,Python,Windows,Selenium,Selenium Chromedriver,我已经看了几篇关于这方面的文章,但不幸的是没有一篇能帮助解决我的问题 下面是我用刚刚创建的“Selenium”特定配置文件打开Chrome的代码。我已经为Chrome83下载了ChromeDriver的最新版本 from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--user-data-dir=

我已经看了几篇关于这方面的文章,但不幸的是没有一篇能帮助解决我的问题

下面是我用刚刚创建的“Selenium”特定配置文件打开Chrome的代码。我已经为Chrome83下载了ChromeDriver的最新版本

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--user-data-dir=C:\\Users\\Ryan\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 2")

driver = webdriver.Chrome(executable_path=r'C:\Users\Ryan\Workspace\Tools\Selenium\chromedriver.exe', chrome_options=options)
driver.get("https://www.google.com")

我能够复制这个问题。我无法解释为什么会发生这种情况,但通过添加一个额外的参数,我能够解决这个问题。我将--user data目录改为指向配置文件主页,user data。然后我用--profile\u目录指定了我想要的配置文件

这是我在电脑上运行的程序

ch_options = Options()
ch_options.add_argument("--user-data-dir=C:/Users/jeffg/AppData/Local/Google/Chrome/User Data")
ch_options.add_argument("--profile-directory=Profile 1")   #This is the additional argument
driver = webdriver.Chrome(executable_path=chrome_path, chrome_options=ch_options)
在你的例子中,它会像这样:

options = Options()
options.add_argument("--user-data-dir=C:\\Users\\Ryan\\AppData\\Local\\Google\\Chrome\\User Data")
options.add_argument("--profile-directory=Profile 2")
driver = webdriver.Chrome(executable_path=r'C:\Users\Ryan\Workspace\Tools\Selenium\chromedriver.exe', chrome_options=options)
driver.get("https://www.google.com")

希望这有帮助。

另一件需要注意的事情是,如果在运行上述代码后遇到此错误:
selenium.common.exceptions.InvalidArgumentException:Message:invalid argument:user data directory已在使用中,请为--user data dir参数指定唯一值,或者不要使用--user data dir
,关闭所有其他chrome窗口。这为我修正了错误。