Java Selenium xpath只提供可见元素的匹配项

Java Selenium xpath只提供可见元素的匹配项,java,html,google-chrome,selenium,xpath,Java,Html,Google Chrome,Selenium,Xpath,Selenium xpath只提供可见元素的匹配项。HTML页面包含许多其他不可见但存在的元素。在chrome控制台上尝试xpath时,它会显示所有元素,包括不可见的元素。但在selenium中使用相同的xpath时,它只返回在该时间点可见的元素。这是预期的行为吗 是的,没错。我还试图引用页面中不存在的元素(因为它们是不可见的),但我做不到。如果元素在页面中可见,则您可以访问它们 我建议您,如果这些元素在某个时刻是可见的,例如,单击一个按钮,那么您必须使用Selenium自动化所有过程,然后使用

Selenium xpath只提供可见元素的匹配项。HTML页面包含许多其他不可见但存在的元素。在chrome控制台上尝试xpath时,它会显示所有元素,包括不可见的元素。但在selenium中使用相同的xpath时,它只返回在该时间点可见的元素。这是预期的行为吗

是的,没错。我还试图引用页面中不存在的元素(因为它们是不可见的),但我做不到。如果元素在页面中可见,则您可以访问它们

我建议您,如果这些元素在某个时刻是可见的,例如,单击一个按钮,那么您必须使用Selenium自动化所有过程,然后使用Xpath、JQuery或任何您想要的方法来引用它们


我希望它能解决您的疑问。

Selenium会找到DOM中存在的元素。如果某个元素不可见,则无法与之交互,例如,您无法单击该元素或向其发送键。可能存在其他问题。可能要等待所有元素正确加载。正如@alecxe提到的,它应该返回
DOM
中存在的所有元素。我尝试获取HTML源代码,然后使用JSOUP基于XPATH获取元素。我的问题是,xpath将应用于html源代码,或者只应用于selenium中的可见元素。