【发布时间】:2020-11-25 06:47:54
【问题描述】:
我需要通过按 enter 键或 esc 键或单击取消按钮来处理带有 Robot Framework 的 chrome 浏览器中弹出的身份验证。 赞这个
我正在尝试使用 SeleniumLibrary 按键,
Press Keys None ESC
但它不起作用
有人知道如何解决这个问题吗?谢谢
【问题讨论】:
标签: python selenium robotframework
我需要通过按 enter 键或 esc 键或单击取消按钮来处理带有 Robot Framework 的 chrome 浏览器中弹出的身份验证。 赞这个
我正在尝试使用 SeleniumLibrary 按键,
Press Keys None ESC
但它不起作用
有人知道如何解决这个问题吗?谢谢
【问题讨论】:
标签: python selenium robotframework
很遗憾,您在这里无法通过 Selenium 进行任何操作。这个窗口来自所谓的basic authentication,用户需要输入用户名和密码,并在 http 级别进行处理。
您看到的控件——对话框——是一个操作系统组件,是浏览器可执行文件本身的一部分;因此,Selenium 无法与之交互 - 它被沙箱化(出于安全考虑)。
有几种解决方法;基本身份验证的凭据可以通过 url 传递 - 如果目标系统没有明确禁止。这是通过特殊格式的 url 完成的:
http://username:password@example.com/
另一个是使用桌面自动化库 - AutoIt,或 Java 的机器人。但这有 2 个(对我来说是巨大的)缺点 - 解决方案将取决于操作系统(例如,一个用于 Windows,而对于 Mac、Linux 则不同),主要是 - 你不能在远程 selenium 会话中使用它 - 你必须拥有它桌面自动化在远程机器上运行,它会拦截桌面会话,并可从您的执行机器访问。
【讨论】:
http://username:password@example.com/ 它似乎不适用于包含“/”字符的密码,日志是“消息:InvalidArgumentException:消息:无效参数” 我尝试在“/”之前插入“”或将“/”替换为“%2F”
【讨论】: