gpt4 book ai didi

java - Webdriver - HTTP 身份验证对话框

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:16 25 4
gpt4 key购买 nike

我有一个非常简单的 selenium-webdriver 脚本。我想使用 webdriver 进行 HTTP 身份验证。

脚本:

WebDriver driver = new FirefoxDriver();  
driver.get("http://www.httpwatch.com/httpgallery/authentication/");
driver.findElement(By.id("displayImage")).click();
Thread.sleep(2000);
driver.switchTo().alert().sendKeys("httpwatch");

问题:

driver.switchTo().alert().sendKeys("httpwatch");

抛出

org.openqa.selenium.NoAlertPresentException:不存在警报

问题:

  • Webdriver 是否只发现一个警告对话框作为警告?
  • 我有什么选择可以在不使用 AutoIt 或 http://username:password @somesite 的情况下自动执行此操作

编辑

Alert 有以下方法,似乎还没有实现。

driver.switchTo().alert().authenticateUsing(new UsernameAndPassword("username","password"))

最佳答案

问题是这不是 javascript 弹出窗口因此您不能通过 selenium 的 alert() 操作它。

如果 AutoIt 和在 URL 中提交凭据(最简单的选项 - 只需打开 the url 并单击“显示图像”)都不适合您,另一种方法可能是使用 AutoAuth firefox addon自动提交先前保存的凭据:

AutoAuth automatically submits HTTP authentication dialogs when you’ve chosen to have the browser save your login information. (If you’ve already told the browser what your username and password are, and you’ve told it to remember that username and password, why not just have it automatically submit it instead of asking you each time?)

遵循 HTTP Basic Auth via URL in Firefox does not work? 中建议的答案主题:

  • Install AutoAuth Firefox plugin;
  • Visit the site where the authentication is needed. Enter your username and password and make sure to choose to save the credentials;
  • Save AutoAuth installation file at your hard drive: at the plugin page, right click at “Add to Firefox” and “Save link as”;
  • Instantiate Firefox webdriver as following:
FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("default");
File pluginAutoAuth = new File("src/test/resources/autoauth-2.1-fx+fn.xpi");
firefoxProfile.addExtension(pluginAutoAuth);
driver = new FirefoxDriver(firefoxProfile);

此外,以类似于 AutoIt 选项的方式 - 您可以使用 sikuli用于在弹出窗口中提交凭据的屏幕识别和自动化工具。


另请参阅其他想法和选项:

关于java - Webdriver - HTTP 身份验证对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27878208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com