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

如何在运行Selenium脚本时禁用chrome浏览器中的身份验证弹出窗口

方宏富
2023-03-14

在此处输入图像描述通过第一个URL,我单击登录(如图所示),这将导致另一个URL,我需要在其中输入凭据。但在该页面之前,我看到一个由浏览器生成的弹出窗口,Selenium无法找到它。在此处输入图像描述。我的chrome浏览器版本是61.0.3163.100(官方版本)(64位)

我尝试使用以下方法:

>

JavaScript

((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return

对;}");

自动

WinWaitActive("Windows Security")
Send("admin{TAB}")
Send("Password{Enter}")

机器人类

alert.sendKeys("UserName");
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
alert.sendKeys("Password");
alert.accept();

还试图通过在URL中输入用户名和密码来浏览第二个URL

除此之外,我还在selenium脚本中使用了一些Chrome选项

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--disable-popup-blocking");
options.addArguments("chrome.switches","--disable-extensions");
driver = new ChromeDriver(options); 


ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("disable-popup-blocking");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(capabilities); 


WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(username, password)); 

有没有其他方法可以在chrome设置中或通过脚本删除此弹出窗口?

提前谢谢

共有1个答案

邢起运
2023-03-14

下面的代码对我有用

    Robot robot;
    try {
        robot = new Robot();
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
    } catch (AWTException e) {
        e.printStackTrace();
    }
 类似资料:
  • 问题内容: 我正在尝试在我的新Webdriver脚本之一中处理身份验证弹出窗口。我有一个适用于IE的有效解决方案,但我在Chrome方面苦苦挣扎。IE就像遵循[本页]的建议一样简单:如何使用Java使用Selenium WebDriver处理身份验证弹出窗口。尽管有几位评论者指出,该线程并没有显示出适用于Chrome的绝佳解决方案,但该解决方案不适用于Chrome。问题是,当您尝试在Chrome上

  • 作为自动化的一部分,我正在尝试使用selenium登录本地托管的网站。该页面提供HTTP基本身份验证弹出窗口,我使用下面的代码发送凭据。然而,在使用调试器并逐步执行代码时,我发现超时异常会反复出现(在旁边标有注释的行)。 我在Chrome浏览器及其相应的Chrome WebDriver上尝试了从79.0到最新的84.0的所有版本,但这种例外似乎在所有情况下都会发生 Windows服务器W2k12虚

  • 我正在为Facebook编写一个代码,它从属性文件中获取URL、ID、密码,但在登录时,我会被提示“Facebook想要显示通知-允许-阻止”,在登录后我该如何使其如此(a)按ESP或Alt+F4并关闭弹出窗口或(B)查找通知并自行关闭通知。这是我使用的,但它不起作用。感谢任何帮助。

  • 我正在使用C#在selenium web驱动程序中为Chrome浏览器编写一个自动化脚本。我陷入了一个场景:多个选项卡在同一浏览器中打开,我需要导航到浏览器的第一个选项卡,并需要在“身份验证”对话框中重新输入登录凭据。 授权窗口截图如下: 我无法导航到第一个选项卡,也无法传递用户名 执行上述代码后,将出现以下错误: WebDriver等待有一些无效的参数。参数2:不能从int转换为System.时

  • 问题内容: 有谁知道在自动化过程中使用Selenium或任何其他工具来处理浏览器身份验证吗? 问题答案: 警报方法authenticateUsing() 使您可以跳过“ Http基本身份验证”框。 从Selenium 3.4开始,它仍处于测试阶段 现在,仅针对 InternetExplorerDriver

  • 我正在尝试处理一个新的Webdriver脚本中的身份验证弹出。我对IE有一个工作的解决方案,但我对Chrome很纠结。IE很简单,只需遵循[本页]上的建议:如何使用Java处理Selenium WebDriver弹出的身份验证。这个线程并没有为Chrome提供一个很好的解决方案,尽管一些评论家指出,这个解决方案对Chrome不起作用。问题是,当你尝试在Chrome上执行下面的代码时,登录弹出并不是