如何处理Java和Selenium中的弹出登录框?我使用http://espn.go.com"在弹出框中签名"但是我一直都是
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":".//*[@id='login-title']"}
这是我的测试代码
@Test
public void testLogin(){
espn().navigation().signInBtn();
espn().login().verifyLoginPage(" Log In");
espn().login().enterUserName("test");
espn().login().enterPassword("test");
espn().login().clickLogInBtn();
espn().login().verifyLoginError("Email Address and password were not found. Please try again.");
}
答案 0 :(得分:0)
用户名和密码字段位于' iframe'。 Selenium无法找到帧中存在的元素。因此,我们需要将驱动程序切换到框架并识别该框架中存在的元素。 首先使用 driver.switchTo()。frame(By.name(""));
将驱动程序切换到框架现在尝试识别用户名和密码。输入密码和用户名后,请点击“登录”。
现在再次使用" driver.switchTo()将驱动程序切换为默认内容.defaultContent()"这将使Selenium与框架外的元素进行交互。