Python/Selenium javascript error: argument is not defined

Рейтинг: 0Ответов: 2Опубликовано: 14.01.2023

У меня есть метод при использовании которого я получаю ошибку:

selenium.common.exceptions.JavascriptException: Message: javascript error: argument is not defined

вот собственно сам метод(если коротко, то его суть скролл до элемента)

    def scroll_to_element(self, locator):
        return self.driver.execute_script("argument[0].scrollInToView();", locator)

С чем это может быть связано?

Ответы

▲ 1Принят

В моем случае проблема была с синтаксисом я использовал argument[0], а нужно arguments[0], то есть верный код будет выглядеть вот так:

    def scroll_to_element(self, locator):
        return self.driver.execute_script("arguments[0].scrollInToView();", locator)
▲ 0

Ошибка говорит о том, что метод scrollIntoView не является функцией у объекта, который вы пытаетесь использовать. Возможно, вы пытаетесь использовать метод на неправильном объекте или элемент не поддерживает этот метод. Проверьте, что элемент, к которому вы пытаетесь проскроллиться, является элементом DOM и поддерживает метод scrollIntoView.

def scroll_to_element(self, locator):
    return self.driver.execute_script("arguments[0].scrollIntoView();", locator)