Webdriver - 无法找到Xpath / CSS获取NoSuchElementException

时间:2018-05-25 00:26:22

标签: java selenium selenium-webdriver xpath css-selectors

我是selenium的新手,并试图为下面的html代码找到正确的xpath或CSS,花了这么多时间,经过多次试验,我无法点击这些元素,我需要一些帮助。这里似乎有一些非常基本的东西。我得到NoSuchElementException。

第一个HTML:

<input class="form-control" id="name" name="name" value="" type="text">

我尝试了以下代码:

driver.findElement(By.xpath("//*[@id="name"]")).sendKeys("Something");
driver.findElement(By.id("name")).sendKeys("Something");
driver.findElement(By.cssSelector("input[value='']")).sendKeys("Something");

第二个HTML:

<a href="#fragment2" data-toggle="tab" aria-expanded="true">
   <span>Module Permissions</span>
</a>

我尝试了以下代码:

driver.findElement(By.xpath("//span[contains(text(), 'Module Permissions')]")).click();
driver.findElement(By.linkText("Module Permissions")).click();

我的测试环境:

  1. Google Chrome版本66.0.3359.181
  2. Selenium WebDriver版本:3.12
  3. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

  1. 在发送密钥之前,您似乎遇到了错误。这只是代码吗?只输入标签?如果是这种情况,那就试试吧。

    driver.findElement(By.cssSelector("input")).sendKeys("Something");
    
  2. 试试这个。

    driver.findElement(By.cssSelector("a")).click();
    
  3. 如果您提供页面的链接或页面的整个html,那就更好了