Java 我已经写了一个程序来登录yahoomail。但这给了我一个错误
我已经写了一个程序,点击一个链接,输入用户名和密码,然后点击登录按钮,但我没有得到输出,它给了我一个错误。 程序如下所示Java 我已经写了一个程序来登录yahoomail。但这给了我一个错误,java,selenium,selenium-webdriver,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[] ar
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();
}
}
程序只执行到最大化窗口部分,然后停止。有人能帮我吗。在您的情况下,登录按钮的xpath错误。雅虎每次都会为其登录按钮生成新id。您可以尝试以下代码
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.yahoo.com");
driver.manage().window().maximize();
driver.findElement(By.xpath("//*[text()='Sign In']"))
.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();
}
你能发日志吗?没拿到。。?登录??您遇到了什么类型的错误?无法定位元素:{“方法”:“xpath”,“选择器”:“/*[@id='yui_3_12_0_1_1454585688215_223;']/div/ul[1]/li[1]/a”},但您是如何获得此文本的“/*[text()='Sign']”在selenium中编写xpath是一门艺术。我们应该编写它,而不考虑任何浏览器,这样,如果用户界面发生变化,所需的维护就会减少。在selenium中,可以用多种方式编写Xpath。只需遵循以下不同的新策略即可。