public class Login {
WebDriver driver = new FirefoxDriver();
@Test
public void test() {
driver.get("http://www.urbanremedy.com/");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30000, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@id='wrapper']/div[2]/div[3]/div/div/div[2]/div/div/div[1]/a")).click();
driver.findElement(By.linkText("Login")).click();
driver.findElement(By.id("youama-email")).clear();
driver.findElement(By.id("youama-email")).sendKeys("abs");
driver.findElement(By.name("youama-password")).sendKeys("123456");
driver.findElement(By.xpath("//[@id='wrapper']/div[2]/div[3]/div/div/div[5]/div/div/div[3]/div[1]/div[3]/div/button")).click();
}
}
密码有效,只有问题在于电子邮件地址。它没有被反映,因此我被卡住了。请在这方面帮助我。
答案 0 :(得分:2)
由于某种原因,电子邮件和密码输入元素不可见(style="display:none"
),因此网络驱动程序无法与它们进行交互。如果您点击提交按钮一次,那么它们就会显示(style="display:block"
),您可以从那时开始按计划继续。
例如,而不是:
driver.findElement(By.id("youama-email")).clear();
driver.findElement(By.id("youama-email")).sendKeys("abs");
你可以这样做:
WebElement e = driver.findElement(By.id("youama-email"));
e.clear();
e.sendKeys("abs");
答案 1 :(得分:0)
尝试使用By.xpath来查找密码,而不是使用By.name。
答案 2 :(得分:0)
如果您想创建一个更大的项目,我还强烈建议您查看页面对象模式https://code.google.com/p/selenium/wiki/PageObjects。
这是一种模式,它试图封装页面的Web元素并提供相应页面的服务作为其方法。