Python / Selenium не переключает страницы для Chrome 78 при выполнении Javascript - PullRequest
0 голосов
/ 25 октября 2019

У меня есть скрипт, который переключает страницы сайта, которые содержат таблицы. Он прекрасно работал в течение нескольких месяцев (в последний раз с Chrome версии 76), но после установки новой версии Chrome 78.0.3904.70 была установлена ​​ошибка:

        driver.execute_script("__doPostBack('action','Page${}')".format(page))

      File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 636, in execute_script
        'args': converted_args})['value']

      File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
        self.error_handler.check_response(response)

      File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
        raise exception_class(message, screen, stacktrace)

    JavascriptException: javascript error: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
      (Session info: chrome=78.0.3904.70)

Я использовал команду driver.execute_script("__doPostBack('action','Page${}')".format(page))переключать страницы. Я искал и пробовал решения, использующие «значение», но ничего не получалось.

Я искал куски сообщений 'args': converted_args})['value'] и

JavascriptException: javascript error: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them
  (Session info: chrome=78.0.3904.70)

, но ни одно из них не помогло.

Моя версия Python - 3.6, а версия Chromedriver - 78.0.3904.70. Windows 10 x64

1 Ответ

1 голос
/ 26 октября 2019

На самом деле, что-то вроде этого может работать:

el = driver.execute_script("""
  return document.querySelector('[onclick*="Page${}"]')
"""
el.click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...