Автоматизация организации веб-приложения с использованием селена 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

1
PraveenLakshmanan 4 Май 2019 в 15:40

2 ответа

Лучший ответ

Internet Explorer не имеет и никогда не имел собственного движка XPath-over-HTML-DOM. Поэтому неудивительно, что ярлык dev tools $x() не будет работать в инструментах разработчика IE. Любая обработка XPath, выполняемая Selenium в IE, выполняется с использованием движка JavaScript XPath. Вы можете попытаться загрузить такую библиотеку и использовать document.evaluate для обработки страницы DOM с использованием XPath.

0
JimEvans 6 Май 2019 в 00:57

Вы должны использовать метод 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.

enter image description here

Вот ссылка для получения дополнительной информации о оценке метод .

0
supputuri 4 Май 2019 в 14:08