微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐