我有一个奇怪的场景,其中无法找到DOM中的所有元素。Java Selenium无法使用By.xpath查找DOM中的所有元素(“// *”)
当通过火狐浏览的DOM /“检查元素”,我很清楚地看到一些“DIV”元素中不存在于与Java /硒产生的元件列表:
List<WebElement> elements = webDriver.findElements(By.xpath("//*"));
我怀疑是上面的行不提供任何元素是不可见元素的子元素。
如果我怀疑是不正确的,那么任何人都可以解释我所看到的原因吗?否则,如果确实如此,那么绕过它的唯一方法是查看所有不可见元素并使其可见。
有没有更好的方法来处理这个问题?
如果是 - 它是什么?
如果否 - 我如何使所有元素可见(也许使用JavascriptExecutor)?
感谢
恭喜您解决问题。是的,现代应用程序使用负责任的布局和框架来支持它,如twitter引导。对于浏览器窗口的不同大小,这样的框架可以动态地构建不同的html代码 –