我已经编写了这段代码,用于在youtube视频下发送评论,但是当我执行它时,它向我显示了这个错误(第20行,msg_box.send_keys(msg)
):
Traceback (most recent call last):
File "C:/Users/isiac/PycharmProjects/webtest/youtube test.py", line 20, in <module>
msg_box.send_keys(msg)
File "C:\Users\isiac\PycharmProjects\webtest\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 477, in send_keys
self._execute(Command.SEND_KEYS_TO_ELEMENT,
File "C:\Users\isiac\PycharmProjects\webtest\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "C:\Users\isiac\PycharmProjects\webtest\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\isiac\PycharmProjects\webtest\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
为什么,你能帮我吗
from selenium import webdriver
import time
again = str("yes")
while again == 'yes':
driver = webdriver.Chrome()
driver.get("https://www.youtube.com/watch?v=youtubevideo")
driver.maximize_window()
msg = input("write your message ")
count = int(input("send how much time you want to send it "))
input("ready and waiting ")
msg_box = driver.find_element_by_xpath("/html/body/ytd-app/div/ytd-page-manager/ytd-watch-flexy/div[4]/div[1]/div/ytd-comments/ytd-item-section-renderer/div[1]/ytd-comments-header-renderer/div[5]/ytd-comment-simplebox-renderer/div[1]/yt-formatted-string")
for index in range(count):
time.sleep(5)
msg_box.send_keys(msg)
time.sleep(5)
driver.find_element_by_xpath("/html/body/ytd-app/div/ytd-page-manager/ytd-watch-flexy/div[4]/div[1]/div/ytd-comments/ytd-item-section-renderer/div[1]/ytd-comments-header-renderer/div[5]/ytd-comment-simplebox-renderer/div[3]/ytd-comment-dialog-renderer/ytd-commentbox/div/div[4]/div[5]/ytd-button-renderer[2]/a/paper-button").click
again = str(input("do you want to do it again? "))
print("acknowledge")
我在我的机器上逐行运行了您的代码,问题是当第一次加载页面时,
msg_box
元素没有加载,因此第一次XPath查询失败。在向下滚动页面之前,不会加载comment元素。这种行为可能取决于屏幕大小,但我现在在笔记本电脑上,没有大的显示器来测试要向下滚动以启用注释框,请按如下方式修改脚本:
我实际上并没有登录YouTube并在随机视频上留下评论,所以我不知道您的第二个XPath是否有效,但希望您能理解
相关问题 更多 >
编程相关推荐