Asp.net 如何检查元素是否已从DOM中删除?

Asp.net 如何检查元素是否已从DOM中删除?,asp.net,selenium-rc,webdriver,Asp.net,Selenium Rc,Webdriver,我正在使用SeleniumWebDriver(WebDriver.dll)v2.19.0,我需要验证元素是否已从DOM中删除 如何验证元素不再位于DOM中? 我有一个RemoteWebDriver,我用它来获取对div的引用,其中有一个delete按钮。单击此按钮时,一些JavaScript会删除div,我需要确认div不再位于DOM中。div在DOM中不是唯一的,很多人都喜欢。有没有办法查询web驱动程序以查看该元素是否仍然存在?我不知道您使用的是什么语言(WebDriver.dll看起来像c

我正在使用SeleniumWebDriver(WebDriver.dll)v2.19.0,我需要验证元素是否已从DOM中删除

如何验证元素不再位于DOM中?


我有一个
RemoteWebDriver
,我用它来获取对
div
的引用,其中有一个delete按钮。单击此按钮时,一些JavaScript会删除
div
,我需要确认
div
不再位于DOM中。
div
在DOM中不是唯一的,很多人都喜欢。有没有办法查询web驱动程序以查看该元素是否仍然存在?

我不知道您使用的是什么语言(WebDriver.dll看起来像c#或其他什么?)。但我认为这适用于每种语言。一种解决方案是调用WebDriver的
findElement()
方法并尝试获取div元素。如果div不再连接到DOM,则会得到一个
ElementNotFoundException
。我知道这不是一个好的设计,但在这种情况下它可以是一个解决方案:您可以捕获异常,然后您知道div不再连接到DOM(我知道,异常的目的不是像这样的程序逻辑)

另一种解决方案是使用
getPageSource()
方法查询源代码。然后,如果元素仍然连接到DOM,则可以使用XML解析器自己解析源代码