2014-10-10 107 views
4

我正在使用Firefox瀏覽器在硒中工作。如何獲取Selenium WebDriver中的檢查元素代碼

查看源代碼(CTRL + U)中顯示的HTML代碼與檢查Firefox中元素時看到的HTML代碼不同。

當我運行driver.getPageSource()我只得到查看源代碼(CTRL + U)。

有沒有什麼辦法可以訪問檢查元素代碼,而不是查看源代碼

+0

可能重複的[獲取WebElement的HTML源中的硒的webdriver(Python)的](http://stackoverflow.com/questions/7263824/get-html-source-of-webelement-in-selenium-webdriver -python) – alecxe 2014-10-10 19:33:55

+0

「不同」如何? – SiKing 2014-10-10 19:49:32

回答

3

我認爲你的問題已經回答here

查看源html是服務器發送的內容。我認爲它是編譯時html,或DOM的初始狀態。

檢查元素html本來可以通過ajax響應或javascript進行更新,因此不一定是相同的。我認爲它是運行時html,或DOM的當前狀態。

GetAttribute()方法查詢當前的DOM元素狀態。您可以直接返回特定的html屬性值

webElement.GetAttribute("class") 

或者獲取整個html字符串。的

webElement.GetAttribute("innerHTML") 
+0

如果'webElement'是動態生成的並且在DOM(檢查元素)中但不是源代碼會怎麼樣?我們如何才能到達元素本身? – user1002119 2014-10-11 06:16:23

+1

這應該沒有區別。 GetAttribute()方法適用於DOM中的任何內容。 HTML是描述DOM的語言,因此當前的HTML會告訴你當前的DOM是什麼。我編輯了答案來反映這一點。 – 2014-10-15 21:33:25

相關問題