Автоматизация организации веб-приложения с использованием селена webdriver и поддерживается только в браузере IE. При проверке Xpath в консоли браузера IE11 я получаю сообщение об ошибке '$x' is undefined
.
Xpath: //a[@id='gb_70']
Ссылка: https://www.google.co.in -> кнопка входа
Проверенный Xpath в консоли IE11: $x("//a[@id='gb_70']")
Ошибка: '$x' is undefined
2 ответа
Internet Explorer не имеет и никогда не имел собственного движка XPath-over-HTML-DOM. Поэтому неудивительно, что ярлык dev tools $x()
не будет работать в инструментах разработчика IE. Любая обработка XPath, выполняемая Selenium в IE, выполняется с использованием движка JavaScript XPath. Вы можете попытаться загрузить такую библиотеку и использовать document.evaluate
для обработки страницы DOM с использованием XPath.
Вы должны использовать метод document.evaluate
для проверки xpath в IE.
// evaluate the xpath and get the matching nodes (similar to selenium findelements())
elements = document.evaluate("//input[@class='gLFyf gsfi']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
// to get the number of items matched (similar to selenium findelements().size())
elements.snapshotLength
// get the first element node (similar to selenium findelements().get(0))
elements.snapshotItem(0)
elements.snapshotLength
будет 0
, если нет узлов элементов, соответствующих данному пути xpath. Будет >2
, если более чем один элемент соответствует xpath.
Вот ссылка для получения дополнительной информации о оценке метод .
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.