机器人框架处理身份验证弹出窗口

时间:2020-08-05 06:05:08

标签: python selenium robotframework

我需要通过按Enter键或esc键或单击“取消”按钮来处理使用Robot Framework在chrome浏览器中弹出的身份验证。 像这样enter image description here

我正在尝试使用SeleniumLibrary Press键,

Press Keys    None    ESC

但这不起作用

有人知道如何解决吗?谢谢

1 个答案:

答案 0 :(得分:2)

很遗憾,这里您无法通过Selenium做任何事情。该窗口来自所谓的basic authentication,该窗口中要求用户输入用户名和密码,并在http级别进行处理。
您看到的控件(对话框)是一个OS组件,是浏览器可执行文件本身的一部分;因此,Selenium无法与其进行交互-将其从沙箱中删除(出于安全目的)。

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

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

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