【问题标题】:Setting Chrome profile in Selenium doesn't bypass Microsoft MFA在 Selenium 中设置 Chrome 配置文件不会绕过 Microsoft MFA
【发布时间】:2022-10-14 10:40:01
【问题描述】:

我正在尝试将来自 AWS 管理控制台的抓取数据合并到一个自动化脚本中,出于某种原因,我公司的 AWS 支持 Microsoft 多因素身份验证系统。手动转到控制台链接时这不是问题,因为浏览器记得过去我已经完成了 MFA 过程,并且我被直接引导到控制台。当导航到 Selenium 中的同一链接时,我被带到 MFA 页面,询问我是否允许发短信/打电话给我的电话。

我了解到这可以通过在 Webdriver 选项中设置 Chrome 配置文件来解决。

options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=/Users/myuser/Library/Application Support/Google/Chrome/")

即使设置了这个,我仍然每次都被重定向到 MFA 页面。我会以错误的方式解决这个问题吗?有没有一种简单的方法可以检查 Chrome 配置文件是否确实按预期工作?

【问题讨论】:

  • 尝试通过使用 --user-data-dir="/tmp/dev-chrome" 运行 chrome 创建专用目录,传递 MFA 并提供它以确保它不是权限问题或路径中的空间问题。
  • 我还看到,在 Mac 中,路径是“/Users/user/Library/Application Support/Google/Chrome/Default”,所以首先尝试在末尾添加 Default
  • @Roeften 嘿,这是迄今为止最好的反馈。让我的脚本在短期内工作,但是当我重新启动计算机时 temp/dev-chrome 配置文件重置。不确定使用此临时配置文件和指向现有配置文件之间的区别(重启后仍然超过 MFA)
  • @Roeften 只是一些澄清......我已经尝试将默认值放在路径中,并且还使用 user_data 路径,因为有人在下面做出了回应,没有区别。到目前为止,唯一通过 MFA 的是将配置文件设置为 --user-data-dir="/tmp/dev-chrome" 并通过 MFA 一次。但是每次重新启动计算机时都这样做很烦人
  • 使用一些持久化路径,tmp 通常不会持久化。例如 /Users/myuser/chromedev 或 /var/chomedev。我不熟悉 MacO,所以我不知道是否存在权限问题。或者导航到 /Users/myuser/Library/Application Support/Google/Chrome/ 并确保您使用的是其中列出的正确配置文件名称(区分大小写)

标签: python selenium google-chrome selenium-webdriver multi-factor-authentication


【解决方案1】:

您需要使用实际的用户数据目录,而不仅仅是存储一般 chrome 数据的文件夹。 对于默认的 chrome 配置文件,名称将是:

"/Users/myuser/Library/Application Support/Google/Chrome/User Data/Default"

【讨论】:

  • 好吧,我明白了,改变了它,没有区别。到目前为止唯一有效的是使用配置文件运行:--user-data-dir="/tmp/dev-chrome",但这会在计算机重新启动时重置。
【解决方案2】:

//Add argument and provide path to userdata Remember to change username to your username.

Option.AddArgument("user-data-dir=c:Users~username~AppDataLocalGoogleChromeUserdata");

//Add whatever profile number that corresponds to session you want to open

Option.AddArgument("--profile-directory-Profile-10");

*在您要使用的会话中使用 chrome://version 标志查找配置文件。该标志将告诉您个人资料编号。

【讨论】:

    猜你喜欢
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2020-05-19
    • 1970-01-01
    • 2021-05-15
    • 2023-01-16
    • 2014-01-18
    相关资源
    最近更新 更多