java - 硒警报认证
问题描述
我正在尝试访问位于我的本地主机上的网站。当我导航到它时,会出现一个警报,我必须进行身份验证,但是当我使用“authenticateUsing”方法时,它告诉我它不存在。谁能帮我?
System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.navigate().to("http://localhost:8015/thing/Home");
String username = "a";
String password = "bbbbb";
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword(username, password));
解决方案
这个问题虽然没有提供足够的信息。我会给你一些方法:
方法1:
您必须先切换到警报框,然后才能进行交互。
Alert alert = driver.switchTo().alert();
然后您可以继续执行。切换到警报后是这样的:
wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword(username, password));
方法2:
String username = "a";
String password = "bbbbb";
String URL = "http://" + username + ":" + password + "@" + localhost:8015/thing/Home;
driver.get(URL);
Alert alert = driver.switchTo().alert();
alert.accept();
方法 3: 您可以尝试 AutoIT 脚本。请注意 AutoIT 脚本只能在 windows 环境下工作。但是,我不建议您采用这种方法。
推荐阅读
- ms-access-2010 - 访问,将单个值从连续形式传递到另一种形式
- node.js - 无法连接到我的应用程序客户端的 WAMP 路由器
- angular - 角度材质选择:更改禁用选项的颜色
- php - php会话未设置或丢失
- mysql - 返回列中具有相同值但在另一列中具有不同值的行
- mql4 - MQL 4 订单发送错误 138 仅在测试中而不是在现场演示中
- c - 以下是二维数组吗?
- perl - 找到正则表达式,将下一行移到这一行的末尾并将前5列复制到以字母开头的下一行
- rest - 如何在分布式 REST 服务架构中生成 HATEOAS 链接?
- python - 如何避免重复几乎相同的代码块?