使用Chrome默认配置文件使用Selenium保持登录状态



我想在谷歌个人资料中使用硒,我创建了以下代码:

options = webdriver.ChromeOptions() 
options.add_argument(r"user-data-dir=C:UsersmyprofileAppDataLocalGoogleChromeUser Data") #Path to my chrome profile
driver = webdriver.Chrome(executable_path=r"C:chromedriver.exe", options=options)
driver.get(url)

我得到了这个错误:

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

我还尝试了另一个配置文件,但返回了相同的错误:

options = webdriver.ChromeOptions() 
options.add_argument('--user-data-dir=C:/Users/mxs/AppData/Local/Google/Chrome/User Data')
options.add_argument('--profile-directory=Profile 2')
driver = webdriver.Chrome(executable_path=r"C:chromedriver.exe", options=options)
driver.get(url)

此外,我尝试了Jupyter Notebook和VSCode 中的代码

建议1

如果您可以一次只运行一个selenium进程,那么您可以使用队列来实现它。只要您只使用一个进程来访问用户目录,就不会导致任何错误。

建议2

如果你想继续登录某个网站,你可以重复使用cookie。在这种情况下,您不需要使用user-data-dir的东西。Selenium将在每次运行时自动创建临时user-data-dir

建议3

如果你仍然想在每个会话中使用相同的配置文件,下面是破解方法。你可以不使用原始的--user-data-dir,而是将原始配置文件目录的所有内容复制到某个临时目录,并在每次启动chrome-selence时将其与--user-ddata-dir一起使用。

建议

当你试图运行python脚本时,关闭所有的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

当我打开一扇镀铬窗户时。因此,最好关闭所有的镀铬窗口,然后再试一次。

最新更新