我正在使用Selenium WebDriver(WebDriver.dll)v2.19.0,我需要验证是否已从DOM中删除了一个元素。
如何验证元素不再存在于DOM中?
我有RemoteWebDriver
我正在使用它来获取对div
的引用,其中包含删除按钮。单击此按钮时,某些JavaScript会删除div
,我需要确认div
不再位于DOM中。 div
在DOM中并不是唯一的,很多人都喜欢。有没有办法查询Web驱动程序,以查看该元素是否仍然存在?
答案 0 :(得分:2)
我不知道你使用的是什么语言(WebDriver.dll看起来像是c#还是什么?)。但这适用于我认为的每种语言。一种解决方案可能是您调用WebDriver的findElement()
方法并尝试获取div元素。如果div不再附加到DOM,则会得到ElementNotFoundException
。我知道这不是一个好的设计,但它可以成为这种情况下的解决方案:你可以捕获异常,然后你知道div不再附加到DOM(我知道,异常的目的不是像程序逻辑那样这一点)。
另一种解决方案是您使用getPageSource()
方法查询源代码。然后,如果您的元素仍然附加到DOM,则可以使用XML-Parsers自行解析源代码。