2016-05-24 17 views
1

Wenn ich versuche,Kann Root-Elemente nicht finden mit RemoteWebDriver.FindElementsByXPath ("/");

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

oder

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

ich das Wurzelelement (e) von meinem Dokument zu erhalten erwarten zu verwenden.

Was ich stattdessen bekomme, ist eine InvalidSelectorException mit dieser Nachricht.

„ungültig Wähler: Das Ergebnis des XPath-Ausdrucks "/" ist: [object Htmldocument] Es sollte ein Element sein (Session Info: Chrom = 50.0.2661.102).. (Fahrerinfo: chromedriver = 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), Plattform = Windows NT 10.0 x86_64)“

Warum? Gibt es eine Möglichkeit, das HTMLDocument Objekt oder wie ich ursprünglich wollte, das Wurzelelement (e) zu bekommen?

Ist der xpath / das Stammelement (anstelle des Dokuments)?

Antwort

2

/ Referenzen Wurzelknoten, d. H. Der Dokumentknoten. Und wie der Methodenname suggeriert, ist es nur Element, nicht beliebige Art von Knoten zurückgeben.

Element root Um des Dokuments, können Sie /* statt:

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