我无法按名称对元素进行细化。
我在下面提到的代码很简单
WebElement FirstName = driver.findElement(By.name("anyname"));
FirstName.sendKeys("xyz");
我收到以下错误
无法找到名称为== txtVFNAME的元素(警告:服务器已执行此操作 不提供任何堆栈跟踪信息)命令持续时间或超时: 282毫秒
有没有办法通过DOM定位元素? 我也可以使用某种循环来帮助我了解这个元素的可见性吗?
答案 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;。