Я столкнулся с этой странной ситуацией.
Я сначала на странице 1, на которой есть элемент с идентификатором «abc», я использую «abc», чтобы найти webElement и получить его текстовое значение.
Я нажимаю ссылку на странице 1, она переводит меня на страницу 2
На странице 2 также есть элемент с идентификатором «abc», когда я пытаюсь использовать «abc», чтобы найти элемент и получить его текстовое значение, webdriver выдает мне «исключение устаревшего элемента, элемент не прикреплен к DOM и т. Д.»
Я использую Google, чтобы перейти на эту страницу, http://docs.seleniumhq.org/exceptions/stale_element_reference.jsp. В нем объясняется, что «обновлена ли страница, частью которой был элемент, или пользователь перешел на другую страницу ... у драйвера нет способа определить, действительно ли замены соответствуют ожидаемым»
Итак, как решить такой вопрос? Теоретически у webdriver нет возможности узнать, что эти элементы находятся на двух разных страницах.
Стоит заметить, что если я вставлю жестко запрограммированную задержку (засыпание потока и т. Д.) Между переключением страниц, устаревшая проблема не появится.
Спасибо,