ИСКЛЮЧЕНИЕ: ссылка на устаревший элемент: элемент не прикреплен к документу страницы - PullRequest
0 голосов
/ 04 мая 2020

(я думал, что нашел проблему - но это только исправило маленькое репро, которое я построил, в то время как "реальная вещь" все еще падает.)

My HTML -Page содержит (среди прочего) этот бит:

<ol id="links">
<li id="links_1"><a href="http://stackoverflow.com">stackoverflow</a></li>
</ol>

В моем коде для проверки страницы я затем делаю:

el←FindElementById'links_1'
(ACTIONS.MoveToElement el).Build.Perform

, и это вылетает с

EXCEPTION: stale element reference: element is not attached to the page document
  (Session info: chrome=81.0.4044.129)

Однако эта ошибка не представляется оправданной, так как элемент все еще жив:

      el.Displayed
1
      el.Text
stackoverflow
      el.Location
{X=56,Y=282}

Как я могу исправить эту проблему?

(Среда это APL. Я оставил здесь несколько APL-подробностей, потому что боялся, что их можно было бы «отвлечь» от основной проблемы)

Во время моего исследования перед публикацией я увидел вопрос несвежий ссылка на элемент: элемент не прикреплен к документу страницы , но он, кажется, не применяется:

  • , как показано, я делаю FindElementById и получаю к нему доступ сразу после его нахождения , DOM не изменяется, страница остается c.
  • объяснения о том, что она больше не является частью DOM, не применяются: она найдена и, как я пытался показать, я могу получить доступ к таким свойствам, как как Displayed или Text.

Я также прошел ссылку , но это объяснение не помогло.

Кроме того, зацикливание отсутствует происходит и ничего не меняет страницу. Это действительно просто: GoToUrl * Find * MoveToElement.

Я удалил тэг chromedriver, так как могу повторить это с помощью Firefox и geckodriver. Однако, с geckodriver, я получаю «ИСКЛЮЧЕНИЕ: ссылка на веб-элемент, которого раньше не было:», когда я делаю MoveToElement - но я могу сделать el.Click и получить доступ к его свойствам точно так же, как с Chrome.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...