Python Я не могу оставить комментарий на YouTube - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь оставить комментарий к видео на YouTube. Когда я запускаю скрипт, я получаю сообщение об ошибке Пожалуйста, помогите мне с ошибкой.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys


chrome_path = r"xxxxxxxx"
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_path,chrome_options=chrome_options)
driver.get('https://accounts.google.com/ServiceLogin?continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Fhl%3Den%26feature%3Dcomment%26app%3Ddesktop%26next%3D%252Fall_comments%253Fv%253DKdsJtbecX_A%26action_handle_signin%3Dtrue&uilel=3&service=youtube&passive=true&hl=en')

# post a comment
comment = "test"

box = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "box")))
box.click()

frame = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, '//iframe[@title="+1"]')))
driver.switch_to.frame(frame)

driver.find_element_by_xpath('//div[@onclick]').click()

element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, '//div[@jsname="msEQQc"]/following-sibling::div//div[@g_editable="true"]')))
driver.execute_script("arguments[0].innerHTML='%s';" % comment, element)

Это ошибка

  File "yt.py", line 17, in <module>
    box = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.CLASS_NAME, "box")))
  File "C:\Python3\lib\site-packages\selenium\webdriver\support\wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:

1 Ответ

0 голосов
/ 07 июня 2019

На этом шаге

driver.get ('https://accounts.google.com/ServiceLogin?continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Fhl%3Den%26feature%3Dcomment%26app%3Ddesktop%26next%3D%252Fall_comments%253Fv%253DKdsJtbecX_A%26action_handle_signin%3Dtrue&uilel=3&service=youtube&passive=true&hl=en')

Вы переходите на страницу входа на YouTube.

Если выне завершите процесс входа в систему, вы не можете найти элемент

Имейте в виду, что селен открывает браузер с чистым временем (без суеты, кеш ...)

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