Как я могу проверить, был ли элемент удален из DOM? - PullRequest
1 голос
/ 19 февраля 2012

Я использую Selenium WebDriver (WebDriver.dll) v2.19.0, и мне нужно убедиться, что элемент был удален из DOM.

Как проверить, что элемент не являетсябольше в DOM?

У меня есть RemoteWebDriver, который я использую, чтобы получить ссылку на div, в котором есть кнопка удаления.Когда эта кнопка нажата, какой-то JavaScript удаляет div, и я должен подтвердить, что div больше не находится в DOM.div не уникален в DOM, как многим нравится.Есть ли способ сделать запрос к веб-драйверу, чтобы посмотреть, присутствует ли этот элемент?

1 Ответ

2 голосов
/ 19 февраля 2012

Я не знаю, какой язык вы используете (WebDriver.dll выглядит как c # или что-то?). Но это работает для каждого языка, я думаю. Одним из решений может быть то, что вы вызываете findElement() метод WebDriver и пытаетесь получить div-элемент. Если div больше не привязан к DOM, вы получаете ElementNotFoundException. Я знаю, что это не очень хороший дизайн, но это может быть решением в этой ситуации: вы можете поймать исключение, и тогда вы узнаете, что div больше не привязан к DOM (я знаю, цель исключений не в программной логике, как это).

Другое решение может заключаться в том, что вы запрашиваете исходный код методом getPageSource(). затем вы можете самостоятельно проанализировать источник с помощью XML-анализаторов, если ваш элемент все еще подключен к DOM.

...