【问题标题】:Robot framework handle an authentication popup机器人框架处理身份验证弹出窗口
【发布时间】:2020-11-25 06:47:54
【问题描述】:

我需要通过按 enter 键或 esc 键或单击取消按钮来处理带有 Robot Framework 的 chrome 浏览器中弹出的身份验证。 赞这个

我正在尝试使用 SeleniumLibrary 按键,

Press Keys    None    ESC

但它不起作用

有人知道如何解决这个问题吗?谢谢

【问题讨论】:

    标签: python selenium robotframework


    【解决方案1】:

    很遗憾,您在这里无法通过 Selenium 进行任何操作。这个窗口来自所谓的basic authentication,用户需要输入用户名和密码,并在 http 级别进行处理。
    您看到的控件——对话框——是一个操作系统组件,是浏览器可执行文件本身的一部分;因此,Selenium 无法与之交互 - 它被沙箱化(出于安全考虑)。

    有几种解决方法;基本身份验证的凭据可以通过 url 传递 - 如果目标系统没有明确禁止。这是通过特殊格式的 url 完成的:

    http://username:password@example.com/
    

    另一个是使用桌面自动化库 - AutoIt,或 Java 的机器人。但这有 2 个(对我来说是巨大的)缺点 - 解决方案将取决于操作系统(例如,一个用于 Windows,而对于 Mac、Linux 则不同),主要是 - 你不能在远程 selenium 会话中使用它 - 你必须拥有它桌面自动化在远程机器上运行,它会拦截桌面会话,并可从您的执行机器访问。

    【讨论】:

    【解决方案2】:

    http://username:password@example.com/ 它似乎不适用于包含“/”字符的密码,日志是“消息:InvalidArgumentException:消息:无效参数” 我尝试在“/”之前插入“”或将“/”替换为“%2F”

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 2021-10-25
    相关资源
    最近更新 更多