当前位置: 首页 > 知识库问答 >
问题:

Chrome浏览器点击URL后抛出白色认证框

宦文柏
2023-03-14

我在selenium,java框架中编写UI自动化测试用例。我能够毫无问题地运行所有测试用例,直到没有实现身份验证。实施身份验证后,他们引入了用户名和密码以及登录按钮。现在我无法在chrome浏览器中运行任何UI自动化测试,我得到一个白色的身份验证框,对服务器xxxx说,当我通过自动化脚本点击URL时,需要用户名和密码。它防止selenium脚本点击网页上的任何位置。

同时我可以在chrome浏览器中手动工作。我可以点击登录图标。

共有2个答案

叶炜
2023-03-14

您是否尝试在基本url链接中添加用户和密码,如:http://user:password@您的_域?

钱卓君
2023-03-14

您好,要让webdriver工作,您必须在身份验证框中传递用户名和密码,您可以按以下方式操作

方法1:使用硒警报

Alert alt = driver.switchTo().alert();   
alt.authenticateUsing(new UserAndPassword(uid, pwd));

方式2:直接在url中传递用户名和密码

driver.get("http://username:password@yoururl.com");

方式3:使用java的robot类

 Robot rb = new Robot();

     //Enter user name by ctrl-v
     StringSelection username = new StringSelection("username");
     Toolkit.getDefaultToolkit().getSystemClipboard().setContents(username, null);            
     rb.keyPress(KeyEvent.VK_CONTROL);
     rb.keyPress(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_CONTROL);

     //tab to password entry field
     rb.keyPress(KeyEvent.VK_TAB);
     rb.keyRelease(KeyEvent.VK_TAB);
     Thread.sleep(2000);

     //Enter password by ctrl-v
     StringSelection pwd = new StringSelection("password");
     Toolkit.getDefaultToolkit().getSystemClipboard().setContents(pwd, null);
     rb.keyPress(KeyEvent.VK_CONTROL);
     rb.keyPress(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_V);
     rb.keyRelease(KeyEvent.VK_CONTROL);

     //press enter
     rb.keyPress(KeyEvent.VK_ENTER);
     rb.keyRelease(KeyEvent.VK_ENTER); 

希望这对你有帮助

 类似资料:
  • 控制台的使用 控制台查看源码 控制台的 Sources标签可以查看源码。按住快捷键「cmd + P」,可以根据文件名查找源码文件。 其他 show user agent shadow DOM 把上图中的红框部分打钩。

  • 之前好好的,上周整理磁盘时不小心删了c盘的Chrome浏览器和一些数据,我的python都装在d盘,后来重装Chrome浏览器后,有些python程序可以运行,有些出问题,重装selenium也是一样的错误 在ppy.bat中 Traceback (most recent call last): File "D:\aaa\py3\ttt.py", line 6, in <module> File

  • 我使用以下命令在同一台计算机上启动了集线器和节点: 我尝试使用以下代码实例化一个浏览器窗口: 页面获取成功,我可以使用browser.page看到页面的超文本标记语言代码_source但是节点上的Chrome窗口没有打开。我根本没有指定无头选项。我使用的是95版Chrome和Chromedrive。 请注意,我是在jupyter笔记本上运行代码的,该笔记本托管在充当selenium服务器和节点的同

  • 问题内容: 如何通过使用Swift作为编程语言并使用OSX作为平台在系统默认浏览器中打开url。 我在UIApplication中发现了很多东西,例如 但这仅适用于iOS而不适用于OSX 与发射服务,我发现有迅速没有例子并没有过时的OSX 10.10很多 欢迎任何帮助-谢谢。 问题答案: Swift 3或更高版本

  • 主要目的是在一个容器中运行多个chrome浏览器(9个浏览器)。 我有一个hub&node设置,容器中有多个浏览器,可以在一个chrome node容器中运行。我用下面的docker命令创建了两个容器: 要创建集线器容器:dockerrun-d-p4445:4444--名称为selenium_hub selenium/hub

  • 问题内容: 我在使Chrome与64位Ubuntu 13.10上的RSpec / Capybara配合使用时遇到麻烦。默认情况下,它会启动Firefox- 我们尝试了多种更改方式,包括: http://actsasblog.ca/2011/09/28/how-to-use-chrome-with- capybara/ ‘: undefined local variable or method 我们