Python Selenium-使用YouTube调试简单代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Selenium-使用YouTube调试简单代码相关的知识,希望对你有一定的参考价值。

我遵循了有关Python的Selenium的本教程:https://www.youtube.com/watch?v=f7LEWxX4AVI&list=PLPIqsJye1aPybIwQ1L47gY36lkQ6yL975&index=3&t=397s

所以我做的和本教程一样:

from selenium import webdriver

driver=webdriver.Chrome()
driver.get('https://www.youtube.com/')

searchbox = driver.find_element_by_xpath('//*[@id="search-input"]')
searchbox.send_keys('cooking')

但我收到此错误:

Traceback (most recent call last):
  File "C:/ANGUS/DATA_ANALYSIS/WEBSCRAPING/TextXXX.py", line 7, in <module>
    searchbox.send_keys('cooking')
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 477, in send_keys
    self._execute(Command.SEND_KEYS_TO_ELEMENT,
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\Angus\PycharmProjects\Test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Angus\PycharmProjects\Test\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
  (Session info: chrome=81.0.4044.138)

只是想不通,所以在此先谢谢您的帮助。

答案

为了避免使用搜索的另一种方法是插入查询本身。检查:

CODE

your_query = "cooking"

driver.get("https://www.youtube.com/results?search_query=" + str(your_query))

time.sleep(5)

这样,就好像您在搜索特定查询后立即进入所需的输出。因此,我们可以说,不用键入烹饪,而是可以通过将查询添加到所需的URL来将.get()添加到该URL。

我希望这对您有所帮助:)

以上是关于Python Selenium-使用YouTube调试简单代码的主要内容,如果未能解决你的问题,请参考以下文章

selenium : 不能自动化 youtube 的播放暂停和放大

不能使用带有硒的镀铬按钮

selenium:无法自动化youTube的播放暂停和放大

使用url从python流传输youtube音频而无需下载python

通过在Python中使用硒选择youtube视频质量

如何使用 python 获取 Youtube 视频的时长?