我写了一个登录yahoomail的程序。但它给了我一个错误

时间:2016-02-04 13:18:46

标签: java selenium selenium-webdriver

我编写了一个程序来点击一个链接,输入用户名和密码,然后点击登录按钮,但我没有得到输出,它给我一个错误。 该计划如下

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class CssSelector3 {

    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.yahoo.com");
        driver.manage().window().maximize();

        driver.findElement(By.xpath("//*[@id='yui_3_12_0_1_1454585688215_223']/div/ul[1]/li[1]/a")).click();
        driver.findElement(By.cssSelector("#login-username")).sendKeys("tester@yahoo.com");
        driver.findElement(By.cssSelector("#login-passwd")).sendKeys("tester1234");
        driver.findElement(By.cssSelector("#login-signin")).click();
    }
}

程序仅执行到最大化窗口部分然后停止。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

在你的情况下,登录按钮的xpath是错误的。雅虎每次都会为其登录按钮生成新ID。您可以尝试以下代码。

m = defaultdict(lambda :OrderedDict())
for x, y in sorted(tickets):
    m[x].setdefault(y, 0)
    m[x][y] += 1