无法使用名称在selenium中找到和元素

时间:2016-02-23 10:12:27

标签: selenium-webdriver

我无法按名称对元素进行细化。

我在下面提到的代码很简单

WebElement FirstName = driver.findElement(By.name("anyname"));
FirstName.sendKeys("xyz");

我收到以下错误

  

无法找到名称为== txtVFNAME的元素(警告:服务器已执行此操作   不提供任何堆栈跟踪信息)命令持续时间或超时:   282毫秒

有没有办法通过DOM定位元素? 我也可以使用某种循环来帮助我了解这个元素的可见性吗?

3 个答案:

答案 0 :(得分:0)

您可以使用findElements

找到所有需要的元素
List<WebElement> inputs = driver.findElements(By.xpath("//*[@name='Your_name']"));

for (var element=0; element < inputs.size(); element ++){
    if( inputs[element].isDisplayed()){
         //your code
    }
}

在这种情况下//*[@name='Your_name']您正在搜索属性名称。有关更多xpath案例,请查看cheat sheet

答案 1 :(得分:0)

您的问题很明确,但您提供的数据不足以提供帮助。我相信您正在寻找的元素可能是iframe或隐藏的。请提供您测试的网页的源代码。

答案 2 :(得分:0)

  

有没有办法按DOM定位元素?

打开Firefox浏览器。启动URL和Firebug。应该有搜索框,您可以在其中搜索&#34; txtVFNAME&#34;。