Получение ошибки Невозможно прочитать свойство 'currentTime' из неопределенного, когда uexecute JavaScript с использованием Selenium с Python - PullRequest
0 голосов
/ 30 апреля 2020

Я бы хотел перейти к указанному c времени при воспроизведении видео. Хотя мне удалось достичь аналогичной цели с веб-сайта YouTube (см. Нить здесь ), этот же подход не работает должным образом на другом веб-сайте. Как бы мне хотелось поделиться ссылкой на сайт, но из-за конфиденциальной информации я не могу раскрыть ее здесь.

Встроенное видео на этом сайте имеет рамку с идентификатором player. И я знаю, что следующая строка работает без каких-либо ошибок.

        video = WebDriverWait(self.browser, 15).until(EC.visibility_of_element_located((By.ID, "player")))

Поскольку у iframe нет TagName, я вместо этого заменяю getElementsByTagName на getElementById , Однако компилятор возвращает ошибку

Сообщение: javascript ошибка: невозможно прочитать свойство 'currentTime' из неопределенного

Полный код приведен ниже

   video = WebDriverWait(self.browser, 15).until(EC.visibility_of_element_located((By.ID, "player"))) # The line work perfectly
    print('Fast forward')
    player_status = self.browser.execute_script("document.getElementById('player')[0].currentTime += 80;") # The compiler return an error at this line.
    print('Get Current time')
    time_video = self.browser.execute_script("return document.getElementById('player')[0].currentTime;")

Я благодарен за любую подсказку или помощь.

Заранее спасибо.

1 Ответ

0 голосов
/ 01 мая 2020

Как указывает @VLAZ, синтаксис должен быть изменен на

self.browser.execute_script("document.getElementById('player').currentTime += 80;")'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...