WebDriver driver=new FirefoxDriver();
Thread.sleep(3000);
driver.get("https://www.google.com/gmail/about/");
driver.manage().timeouts().pageLoadTimeout(40,TimeUnit.SECONDS);
//Clicking on Create account link
driver.findElement(By.xpath("//a[@href='https://accounts.google.com/SignUp?service=mail&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fpc%3Dcarousel-about-en']")).click();
driver.manage().timeouts().pageLoadTimeout(40,TimeUnit.SECONDS);
Assert.assertTrue(driver.findElement(By.xpath("//input[@name='firstName']")).isDisplayed());
线程“主要” org.openqa.selenium.NoSuchElementException中的异常: 无法找到元素:// input [@ name ='firstName']
如何解决这个问题?
答案 0 :(得分:0)
看来您的 xpath 可能是错误的。代替:
//input[@name='firstName']
尝试使用:
//*[@id='firstName']
作为 xpath 。
Copy XPath
选项。 答案 1 :(得分:0)
这是时间问题,表格需要一两秒钟才能加载。您可以添加显式等待来等待
WebDriverWait wait = new WebDriverWait(WebDriverRefrence, 10);
WebElement firstName = wait.until(ExpectedConditions.presenceOfElementLocated(By.name("firstName")));
Assert.assertTrue(firstName.isDisplayed());