我需要通过按Enter键或esc键或单击“取消”按钮来处理使用Robot Framework在chrome浏览器中弹出的身份验证。 像这样
我正在尝试使用SeleniumLibrary Press键,
Press Keys None ESC
但这不起作用
有人知道如何解决吗?谢谢
答案 0 :(得分:2)
很遗憾,这里您无法通过Selenium做任何事情。该窗口来自所谓的basic authentication,该窗口中要求用户输入用户名和密码,并在http级别进行处理。
您看到的控件(对话框)是一个OS组件,是浏览器可执行文件本身的一部分;因此,Selenium无法与其进行交互-将其从沙箱中删除(出于安全目的)。
有两种解决方法;如果目标系统未明确禁止,则可以通过url传递基本身份验证的凭据。这是通过特殊的url格式完成的:
http://username:password@example.com/
另一种方法是使用用于桌面自动化的库-AutoIt或Java的Robot。但这有2个(对我来说是巨大的)缺点-解决方案将取决于操作系统(例如Windows的解决方案,而Mac,Linux的则不同),并且主要-您不能在远程硒会话中使用它-您必须拥有在远程计算机上运行的桌面自动化,具有拦截的桌面会话,并可从您的执行计算机上访问。