无法使用 RemoteWebDriver.FindElementsByXPath(“/”) 找到根元素;

Cant find root elements with RemoteWebDriver.FindElementsByXPath("/");

提问人:Anders Lindén 提问时间:5/24/2016 更新时间:5/24/2016 访问量:3242

问:

当我尝试使用

var element = webdriver.FindElementByXPath("/");

var elements = webdriver.FindElementsByXPath("/");

我希望获得文档的根元素。

相反,我得到的是带有此消息的 InvalidSelectorException。

“invalid selector: xpath 表达式 ”/“ 的结果是: [object HTMLDocument]。它应该是一个元素。(会议信息: chrome=50.0.2661.102) (驱动程序信息:chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 10.0 x86_64)”

为什么?有没有办法得到那个对象,或者我最初想要的根元素?HTMLDocument

xpath 不是根元素(而不是文档)吗?/

xpath selenium-webdriver chrome-web-driver

评论


答:

4赞 har07 5/24/2016 #1

/引用节点,即文档节点。正如方法名称所暗示的那样,它只能返回元素,而不能返回任意类型的节点。

要获取文档的根元素,您可以改用:/*

var element = webdriver.FindElementByXPath("/*");