【发布时间】:2018-05-15 23:48:38
【问题描述】:
我正在尝试导航到“https://developers.google.com/”。
然后我单击 xpath 的链接并重定向到另一个页面。
只要找到元素并点击第一页上的链接,一切都会起作用。
但是在我进入新页面后,我似乎找不到想要查找的元素。
这是检查文本是否相等。
confirmText("Imagine", "//*[@id=\"main\"]/span/div[2]/div/div/div[1]/div[1]/div/div[1]/div[2]/h3");
public static void confirmText(String text, String xpath) {
System.out.println("Trying to confirm that given string is equal to the text on page.");
WebElement element = driver.findElement(By.xpath(xpath));
System.out.println("Test case: " + text);
System.out.println("Result: " + element.getText());
if (element.getText() == text) {
System.out.println("\nEquals.");
}
else {
System.out.println("\nDoes not equals.");
}
System.out.println("\n\n");
}
这是发送密钥。
public static void sendKeys() {
WebElement firstname = driver.findElement(By.id("firstName"));
firstname.sendKeys("John");
WebElement lastname = driver.findElement(By.xpath("//*[@id=\"lastName\"]"));
lastname.sendKeys("Doe");
WebElement email = driver.findElement(By.xpath("//*[@id=\"email\"]"));
email.sendKeys("johndoe@gmail.com");
WebElement jobtitle = driver.findElement(By.xpath("//*[@id=\"jobTitle\"]"));
jobtitle.sendKeys("Software Engineer");
WebElement company = driver.findElement(By.xpath("//*[@id=\"company\"]"));
company.sendKeys("ABCD");
}
错误是
Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="main"]/span/div[2]/div/div/div[1]/div[1]/div/div[1]/div[2]/h3"}
【问题讨论】:
-
在你的驱动声明之后,立即添加这一行
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);它会为你工作。 -
然后我点击 xpath 的链接?您尝试点击哪个链接,请提供手动步骤。
标签: java selenium selenium-webdriver webdriver automated-tests