当元素属性不存在时,使用java在Selenium WebDriver中按ENTER键

时间:2015-10-28 09:43:56

标签: java selenium-webdriver

我使用selenium webdriver和Java来自动化网页

当我输入网址时,我收到了需要身份验证的对话框

我可以通过配置个人资料输入用户名和密码 但我无法点击确定按钮

注意:无法获取ok按钮属性,因此无法进行 使用以下代码

import org.openqa.selenium.Keys
WebElement.sendKeys(Keys.RETURN);

还有其他方法可以通过webdriver按下ok按钮吗?

3 个答案:

答案 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);

一定会奏效。