2016-09-21 84 views
0

我想解析DOM(網站)的特定信息,例如查找可能在文本節點或屬性值中找到的某些字符串。我正在使用XPath執行此操作。 DOM和XPath都使用文檔的XML結構。用XPath解析DOM信息

這是一個有效的過程,並且XPath是否對位於DOM中的相同信息進行操作?使用XPath和使用其他方式解析DOM之間有什麼區別? (哪些更好的替代品會有?)

我目前使用Selenium WebDriver與'findElements(By.xpath(QUERY))'這是非常方便,但我想知道如果我可能忽略我不知道的內容。

回答

0

這是一個有用的blog about locator stategies

總結:儘可能使用id(findElements(By.id("id")))。如果沒有,請使用CSS定位器(findElements(By.cssSelector("css")))。 Xpath被認爲是最後的手段。

+0

謝謝!但是,我正在解析未知網站,因此使用ID不是一種選擇。我不想查找並重新使用它們,而是想查找關鍵字。如果這些不是唯一的,沒有問題,我會簡單地返回多個匹配。您的鏈接深入討論了定位器的責任,但我對DOM中的信息與XPath請求的結果之間的相似性和差異性很感興趣。 (比如可以有一個信息,但不是另一個)。儘管謝謝你的回覆! – Peter1807