Какой лучший и быстрый способ найти элемент с помощью webdriver? By.XPath или By.ID или что-нибудь еще? И почему?

Какой лучший и быстрый способ найти элемент с помощью webdriver? By.XPath или By.ID или что-нибудь еще? И почему?

Я читал во многих местах, что XPath является правильным кандидатом, но просто не мог найти точной причины для этого.

Поиск элементов по идентификатору, как правило, будет самым быстрым вариантом, поскольку в корне он в конечном итоге вызывает document.getElementById() , который оптимизирован многими браузерами.

Поиск элементов XPath полезен для поиска элементов с использованием очень сложных селекторов и является наиболее гибкой страtagsей выбора, но он может быть очень медленным, особенно в IE. В IE 6, 7 или 8 поиск XPath может быть на порядок медленнее, чем в Firefox. IE не поддерживает собственное решение XPath-over-HTML, поэтому проект должен использовать реализацию JavaScript XPath, а механизм JavaScript в устаревших версиях IE действительно намного медленнее.

Если вам нужно найти элемент с помощью сложного селектора, я обычно рекомендую использовать CSS Selectors, если это возможно. Это не так гибко, как XPath, но будет охватывать многие из тех же случаев, не демонстрируя экстремального снижения производительности в IE, которое может использовать XPath.

Очевидно, By.id() быстрее по сравнению с By.xpath() поскольку By.id() является быстрым. Но в By.xpath() потребуется время для прохождения.

Вывод: By.id() быстрее по сравнению с By.xpath()

Более быстрый способ очевиден с помощью By.id (), но у вас также есть альтернатива, использующая By.name (), также она имеет такую ​​же скорость, как и By.id (). И cssSelector также использует идентификатор id, поэтому его эквивалент совпадает с поиском By.id () и By.name (). Основная причина использования xpath заключается в том, что каждый веб-элемент имеет уникальный путь, назначенный ему, поэтому, когда один и тот же идентификатор, имя и имя classа разделяются двумя элементами, то xpath является опцией, как уникальное решение.

Interesting Posts
Давайте будем гением компьютера.