【问题标题】:Selenium Chromedriver : How to open a specific Chrome profileSelenium Chromedriver:如何打开特定的 Chrome 配置文件
【发布时间】:2022-12-24 20:19:51
【问题描述】:

我希望 Selenium 打开并控制我现有的名为 Selenium 的 Chrome 配置文件之一.我尝试了不同的解决方案,但都没有用。

资料名称:Selenium

配置文件目录:Profile 5

1-首先我试过:

options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=C:/Users/raphg/AppData/Local/Google/Chrome/User Data')
options.add_argument('profile-directory=Profile 5') 

这将打开正确的 chrome 配置文件,但在不受 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

2-然后我尝试克隆配置文件目录并像这样引用它:

options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=C:/Users/path_where_I_put_the_directory') 
options.add_argument('profile-directory=Profile 5')

这一次,它没有给我任何崩溃,但这会打开一个 Chrome 配置文件,它就像我的 Selenium 配置文件的克隆,并且它没有连接到我的 Google 帐户,这与真实帐户不同。

有图像,real profile VS the clone

【问题讨论】:

  • 尝试使用“--user-data-dir=”(包括开头的破折号)
  • @LukeHamilton 不,不幸的是,那行不通。

标签: selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

解决了!

简而言之:您需要克隆整个“用户数据”文件夹,而不仅仅是您将使用的配置文件.

这是问题:

  • 对于我尝试过的第一个解决方案,我得到的错误 (user data directory is already in use) 不言自明,如果我已经使用了配置文件,我将无法使用任何配置文件。在这里,我使用的是“默认”(用于浏览目的),因此将 User Data 文件夹中的任何配置文件与 Selenium 一起使用都会出现此错误。
  • 这让我们想到了我尝试过的第二个解决方案:将我需要的配置文件移动到另一个位置。 Selenium webdriver 打开时像我个人资料的克隆一样的原因是因为“用户数据”文件夹中缺少一些文件。

所以要解决这个问题:

1-转到C:Users ameAppDataLocalGoogleChrome并复制“用户数据”文件夹

2- 将它粘贴到任何你想要的地方(比如C:/Users/my_scripts。所以现在你有C:/Users/my_scripts/User Data

3- 使用你想要的 Selenium 配置文件

options = webdriver.ChromeOptions()
options.add_argument('user-data-dir=C:/Users/my_scripts/User Data') 
options.add_argument('profile-directory=Default')
# Or
options.add_argument('profile-directory=Profile 5')

【讨论】:

    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 2021-04-04
    • 2021-03-16
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    相关资源
    最近更新 更多