Я знаю, что этот вопрос может быть сложным, потребуется помощь/предложения. если дубликат / плохой, пожалуйста, дайте мне знать через комментарии, которые я удалю.
Я хотел бы понять, как Selenium выполняет поиск в древовидной структуре DOM.
(Причина, по которой я спросил, заключается в том, что я переключился с Testcomplete только что. Testcomplete выполняет поиск снизу вверх. Большинство нижних элементов ищутся быстрее. Кроме того, если есть 10 элементов с одинаковым идентификатором, и мы пытаемся найти элемент, а не найти все элементы, это даст самый нижний элемент)
Итак, Selenium — он начинается сверху или снизу ветки дерева? Давайте посмотрим, как выглядит дерево
<div>
<section1>
<h1>
</h1>
<h2>
</h2>
</section1>
<section2>
<i1>
</i1>
</section2>
<section3>
<j1>
<k1 id='something'>
</k1>
</j1>
<j2>
</j2>
</section3>
</div>
Я ищу идентификатор элемента = что-то.
- Сначала он ищет тег
Section 1, h1
, а затем проходит вниз? или он начинается с тегаSection 3 j2
и начинается вверх?. Причина в том, что на очень длинной странице AngularJs поиск таблицы вверху дает более быстрые результаты, а таблица внизу занимает почти 15 секунд. Во-вторых, он ищет как серийно? или Вертикально?.
Серийно - Поиск
Section1, h1, h2, section2, i1
и т.д.Вертикально — поиск
Section1, section2, section3
, а затемh1,h2,i1
и т. д.
Понимание этого будет иметь большое значение для разработки хорошей стратегии поиска элементов.