Я пишу скрипт Selenium для тестирования некоторых функций.Когда я захожу на сайт, его идентификаторы html / element выглядят так, как показано ниже:
<td class="gwt-MenuItem" id="admin_menu" role="menuitem" aria-haspopup="true">Administration</td>
<td class="gwt-MenuItem" id="supervisor_id" role="menuitem">Supervisor Interface</td></tr>
Однако через некоторое время он изменяется на угловые идентификаторы, как показано ниже:
<a href="#" dropdown-toggle="" ng-if="leaf.subtree" class="ng-scope dropdown-toggle" aria-haspopup="true" aria-expanded="false">
<span translate="MENU.ADMINISTRATION.MENU" translate-default="Administration" class="ng-scope">Administration</span>
</a>
Я положил WebDriverWait
, чтобы дождаться, пока элемент не будет найден на странице.Но я получаю TimeoutException()
исключение.Когда выполнение кода останавливается, я узнал, что если я нажимаю кнопку «Домой» вручную, страница обновляется, и весь код снова начинает работать.Итак, я поставил driver.refresh()
и тоже нажал кнопку домой, но не повезло.