我使用的是Selenium WebDriver(WebDriver.dll)v2.19.0,我需要驗證元素是否已從DOM中刪除。如何檢查一個元素是否已從DOM中刪除?
如何驗證元素不再在DOM中?
我有一個RemoteWebDriver
,我用它來獲得一個div
,它有一個刪除按鈕的引用。點擊此按鈕後,某些JavaScript刪除了div
,我需要確認div
不再位於DOM中。在DOM中,div
並不是唯一的,很多人都喜歡。有沒有辦法查詢網絡驅動程序,看看這個元素是否仍然存在?
我使用的是Selenium WebDriver(WebDriver.dll)v2.19.0,我需要驗證元素是否已從DOM中刪除。如何檢查一個元素是否已從DOM中刪除?
如何驗證元素不再在DOM中?
我有一個RemoteWebDriver
,我用它來獲得一個div
,它有一個刪除按鈕的引用。點擊此按鈕後,某些JavaScript刪除了div
,我需要確認div
不再位於DOM中。在DOM中,div
並不是唯一的,很多人都喜歡。有沒有辦法查詢網絡驅動程序,看看這個元素是否仍然存在?
我不知道你用什麼語言(WebDriver.dll看起來像c#或其他?)。但這適用於我認爲的每種語言。一種解決方案可能是您調用WebDriver的findElement()
方法並嘗試獲取div元素。如果div不再連接到DOM,您將獲得ElementNotFoundException
。我知道這不是一個好設計,但它可以是這種情況下的解決方案:您可以捕獲異常,然後您知道div不再附加到DOM(我知道,異常的目的不是程序邏輯這個)。
另一種解決方案可以是用getPageSource()
方法查詢源代碼。那麼如果元素仍然連接到DOM,那麼您可以使用XML解析器自己解析源代碼。