为什么sendkeys在这里不起作用?
我正在练习的网站是https://www.cineplex.com/
@Test
public void testLogin() {
driver.manage().window().maximize();
driver.navigate().to("https://www.cineplex.com/");
driver.findElement(By.id("meta-nav-menu--account")).click();
driver.findElement(By.id("login")).click(); // work up to here
driver.findElement(By.xpath("//*[@id='txtEmailAddress']")).sendKeys("radsfsad"); // username login
driver.findElement(By.xpath("//*[@id="txtPassword"]")).sendKeys("afdsa");// pass login
}
输入电子邮件的检查代码
语法似乎不正确,您可以尝试:
driver.findElement(By.id("txtEmailAddress")).sendKeys("radsfsad");
driver.findElement(By.id("txtEmailAddress")).sendKeys("afdsa");
或
driver.findElement(By.xpath("//input[@id='txtEmailAddress']")).sendKeys("radsfsad"); // username login
driver.findElement(By.xpath("//input[@id='txtPassword']")).sendKeys("afdsa");// pass login
您可以使用explicitwait
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
WebDriverWait wait = new WebDriverWait(driver,Duration.ofSeconds(20));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("txtEmailAddress"))).sendKeys("Youlrogin");
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("txtPassword"))).sendKeys("YourPassword")
我无法访问url,所以请确保没有iframe,如果是iframe的话,你必须首先将switch()
发送到框架,然后使用上面的语句