Ошибка при прокрутке в селене с питоном - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь прокрутить страницу вниз, как обычно. Но на этом сайте, похоже, не работает. Это один из тех, где вам нужно прокрутить вниз, чтобы загрузить новые ссылки.

Это команда, которую я использую:

browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Я получаю ошибку:

Traceback (most recent call last):
  File "/somePathTo/someProgram.py", line 12, in <module>
    browser.execute_script("window.scrollTo(0,document.body.scrollHeight);")
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 636, in execute_script
    'args': converted_args})['value']
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Cannot read property 'offsetTop' of null
  (Session info: chrome=73.0.3683.86)
  (Driver info: chromedriver=72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38),platform=Mac OS X 10.14.3 x86_64)

Любая другая прокрутка также не работает, что-то не так с JS-скриптом ... Я не знаю, какой элемент имеет значение null и поэтому не может иметь свойство 'offsetTop' ... может быть, мне следует определить какой-то элемент, который может иметь это свойство, но я не знаю намного больше о JS, чем этот скрипт

EDIT: Я решил свою конкретную проблему с этим кодом

browser.execute_script('arguments[0].scrollIntoView(true);', target)

где цель - элемент снизу. Тем не менее, я хотел бы знать, в чем проблема с кодом JS.

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