问题描述
创建自定义配置文件“SeleniumBot”后,我尝试使用 Selenium ChromeDriver 和 Selenium ChromeOptions 打开它。它适用于 AppData/Google/Chrome/User Data/SeleniumBot 中的默认路径。当我尝试复制程序/项目文件中的配置文件文件夹并使用 --user-data-dir agrument 时遇到问题,我将路径放在配置文件的副本中。问题是浏览器没有以存储/保存的帐户启动以登录 gmail。
我读过的所有解决方案都是关于打开个人资料并制作个人资料。
我的程序需要使用此特定帐户在任何不会在用户数据目录中创建此自定义配置文件的机器上运行此配置文件。有关如何解决此问题的任何建议?
解决方法
我将这个答案分为两种情况。如果您使用默认 chrome 配置文件(显示为:C:\Users\david\AppData\Local\Google\Chrome\User Data\Default)或添加的 chrome 配置文件(显示为:C:\Users\david\ AppData\Local\Google\Chrome\User Data\Profile 1)
您可以通过在搜索栏中输入 chrome://version 来检查这一点。
案例 1:您使用的是默认配置文件。
-
导航到该配置文件路径。应该类似于 C:\Users\david\AppData\Local\Google\Chrome\User Data\Default。
-
将整个文件夹复制并粘贴到您想要的任何位置。(例如:D:\Chrome_Profiles)。您的目录如下所示:D:\Chrome_Profiles\Default
-
Chromedriver 会自动在
options.add_argument(r"user-data-dir=
部分的末尾添加“默认”。因此,您只需使用:options.add_argument(r"user-data-dir=D:\Chrome_Profiles") driver.get("https://www.facebook.com")
你会发现它运行良好。
第二种情况:您正在使用另一个 chrome 配置文件(在 chrome://version 中由 Profile 1、Profile 2 等注明)
-
导航到该配置文件路径。应该类似于 C:\Users\david\AppData\Local\Google\Chrome\User Data\Profile 1。
-
将整个文件夹复制并粘贴到您想要的任何位置。(例如:D:\Chrome_Profiles)。您的目录如下所示:D:\Chrome_Profiles\Profile 1
-
将配置文件 1 更改为默认值。您的目录将如下所示:D:\Chrome_Profiles\Default
-
Chromedriver 会自动在
options.add_argument(r"user-data-dir=
部分的末尾添加“默认”。因此,您只需使用:options.add_argument(r"user-data-dir=D:\Chrome_Profiles") driver.get("https://www.facebook.com")
我刚刚自己测试了这个,它有效。请让我知道这是否解决了您的问题。 谢谢!