我使用selenium webdriver和Java来自动化网页
当我输入网址时,我收到了需要身份验证的对话框
我可以通过配置个人资料输入用户名和密码 但我无法点击确定按钮
注意:无法获取ok按钮属性,因此无法进行 使用以下代码
import org.openqa.selenium.Keys
WebElement.sendKeys(Keys.RETURN);
还有其他方法可以通过webdriver按下ok按钮吗?
答案 0 :(得分:5)
您需要将其作为警告框处理, 等待弹出窗口出现,然后单击“确定”。
下面的代码最多会等待10秒钟以便弹出窗口出现,然后单击“确定”接受它。虽然等待是可选的。
new WebDriverWait(driver, 10).until(ExpectedConditions.alertIsPresent());
driver.switchTo().alert().accept();
答案 1 :(得分:3)
无法直接使用Selenium处理凭证框您可以使用JAVA AWT机器人类按Enter键。这个类在java API本身中可用。
Robot r = new Robot();
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);
或者,您可以使用AutoIt或基于图像的测试工具,如SIKULI http://www.sikuli.org。
请注意,使用这些解决方案时,运行测试用例时无法锁定工作站屏幕。
答案 2 :(得分:2)
试试这段代码:
driver.findElement(By.xpath("//body")).sendKeys(Keys.RETURN);
一定会奏效。