2016-09-21 8 views
0

Ich möchte das DOM (Websites) für bestimmte Informationen analysieren, zum Beispiel nach bestimmten Zeichenfolgen suchen, die in Textknoten oder Attributwerten gefunden werden können. Ich mache das mit XPath. Sowohl DOM als auch XPath verwenden die XML-Struktur des Dokuments.DOM-Informationen mit XPath analysieren

Ist dies eine gültige Prozedur, und arbeitet XPath mit denselben Informationen, die sich im DOM befinden? Welche Unterschiede bestehen zwischen der Verwendung von XPath und dem Parsen des DOM auf andere Weise? (Welche besseren Alternativen gäbe es?)

Ich verwende derzeit Selenium WebDriver mit 'findElements (By.xpath (QUERY))' was sehr praktisch ist, aber ich fragte mich, ob ich Inhalte übersehen könnte, die mir nicht bekannt sind .

Antwort

0

Hier ist eine nützliche blog about locator stategies.

Um es zusammenzufassen: Verwenden Sie id (findElements(By.id("id"))) wo immer Sie können. Wenn nicht, verwenden Sie CSS-Locators (findElements(By.cssSelector("css"))). Xpath gilt als letzter Ausweg.

+0

Danke! Ich analysiere jedoch unbekannte Websites, daher ist die Verwendung der ID keine Option. Ich möchte sie nicht finden und wiederverwenden, sondern möchte nach Schlüsselwörtern suchen. Wenn diese nicht eindeutig sind, kein Problem, ich werde einfach mehrere Übereinstimmungen zurückgeben. Ihr Link geht sehr ausführlich auf die Haftung von Locators ein, aber ich bin eher an den Ähnlichkeiten und Unterschieden zwischen Informationen im DOM und den Ergebnissen von XPath-Anfragen interessiert. (Wie kann es Informationen in einem, aber nicht im anderen geben). Danke für die Antwort! – Peter1807