java-为什么我的测试会引发Exception-无法在webdriver中定位元素?
作者:互联网
package testproject;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.*;
public class mytestclass {
public static void main(String[] args) {
WebDriver Driver = new FirefoxDriver();
Driver.get("https://www.gmail.com/");
WebElement wb= Driver.findElement(By.name("Email"));
wb.sendKeys("sweta");
WebElement wb1= Driver.findElement(By.name("Passwd"));
wb1.sendKeys("123456");
WebElement wb2= Driver.findElement(By.id("signIn"));
wb2.click();
WebElement wb3= Driver.findElement(By.xpath(".//*[@id='gb']/div[1]/div[1]/div[2]/div[5]/div[1]/a"));
wb3.click();
WebElement wb4= Driver.findElement(By.id("gb_71"));
wb4.click();
}
}
当我执行此代码时,一切正常,直到我希望单击登录按钮为止.我越来越例外,说
线程“主”中的异常org.openqa.selenium.NoSuchElementException:无法找到元素:{“ method”:“ xpath”,“ selector”:“ .//*[@ id =’gb’] / div [1] / div [1] / div [2] / div [5] / div [1] / a“},但是当我尝试使用fierbug定位它时,它的工作正常.
在上述代码中,我更改了电子邮件ID和密码以确保电子邮件安全.
我正面临一个已经在stakwave上发布的程序的问题,因此,如果可以的话,请查看此链接-webdriver is not able to click on a hyperlink in firefox
解决方法:
您确定登录后页面已完全加载吗?
您是否为网络驱动程序设置了超时时间? (它必须等待元素多长时间).可能在完全加载之前会读取您的html.
Webdriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
要快速找出这是否是问题,请在执行wb2.click()之后执行Thread.sleep(8000);
标签:java,firefox,selenium,selenium-webdriver,automated-tests 来源: https://codeday.me/bug/20191013/1907856.html