2012-02-19 114 views
1

我使用的是Selenium WebDriver(WebDriver.dll)v2.19.0,我需要驗證元素是否已從DOM中刪除。如何檢查一個元素是否已從DOM中刪除?

如何驗證元素不再在DOM中?

我有一個RemoteWebDriver,我用它來獲得一個div,它有一個刪除按鈕的引用。點擊此按鈕後,某些JavaScript刪除了div,我需要確認div不再位於DOM中。在DOM中,div並不是唯一的,很多人都喜歡。有沒有辦法查詢網絡驅動程序,看看這個元素是否仍然存在?

回答

2

我不知道你用什麼語言(WebDriver.dll看起來像c#或其他?)。但這適用於我認爲的每種語言。一種解決方案可能是您調用WebDriver的findElement()方法並嘗試獲取div元素。如果div不再連接到DOM,您將獲得ElementNotFoundException。我知道這不是一個好設計,但它可以是這種情況下的解決方案:您可以捕獲異常,然後您知道div不再附加到DOM(我知道,異常的目的不是程序邏輯這個)。

另一種解決方案可以是用getPageSource()方法查詢源代碼。那麼如果元素仍然連接到DOM,那麼您可以使用XML解析器自己解析源代碼。

相關問題