JavascriptException Устаревший элемент не найден после (множественных) перенаправленийPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 JavascriptException Устаревший элемент не найден после (множественных) перенаправлений

Сообщение Anonymous »

Я создаю парсер SeleniumBase, который берет на себя набор задач и выполняет их на веб-сайте. После выполнения некоторых действий на сайте скрипт вызывает driver.execute_script("return window.variable;"). Это отлично работает на всех доменах, которые я парсил, даже с любыми перенаправлениями после кликов.
Сегодня я парсинг нового веб-сайта включает в себя нажатие двух кнопок, которые перенаправляют вас на страницу (всего 2 перенаправления). ). После перенаправления скрипт запускает Execute_script и выдает исключение selenium.common.Exceptions.JavascriptException.

Код: Выделить всё

Traceback (most recent call last):
File "/home/victor/.pyenv/versions/3.12.3/envs/tagprotection-v3/lib/python3.12/site-packages/tenacity/__init__.py", line 478, in __call__
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/home/victor/Webvitals/tagprotection-v3/tagprotection/worker.py", line 28, in __collect_datalayer
datalayer = sb.execute_script("return window.variable;")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/victor/.pyenv/versions/3.12.3/envs/tagprotection-v3/lib/python3.12/site-packages/seleniumbase/fixtures/base_case.py", line 3372, in execute_script
return self.driver.execute_script(script, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/victor/.pyenv/versions/3.12.3/envs/tagprotection-v3/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 414, in execute_script
return self.execute(command, {"script": script, "args": converted_args})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/victor/.pyenv/versions/3.12.3/envs/tagprotection-v3/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
self.error_handler.check_response(response)
File "/home/victor/.pyenv/versions/3.12.3/envs/tagprotection-v3/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.JavascriptException: Message: javascript error: {"status":10,"value":"stale element not found in the current frame"}
Я не совсем понимаю, почему эта переменная JavaScript является устаревшим элементом. Данные передаются на него на каждой странице (аналогично dataLayer Google)

Подробнее здесь: https://stackoverflow.com/questions/787 ... -redirects
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»