【问题标题】:Play YouTube video using webbrowser in python3在 python3 中使用 webbrowser 播放 YouTube 视频
【发布时间】:2020-06-01 04:40:15
【问题描述】:

我想使用 Python3 播放 YouTube 视频。我可以使用 webbrowser.open() 打开 YouTube 视频,但是我需要按空格键或鼠标单击播放按钮才能实际播放视频。如何实现自动化,尽可能不使用 seleinum。

        try:
        client = webbrowser.get("firefox")
        client.open("https://" + open_url)
    except webbrowser.Error as e:
        print(e)

在浏览器的控制台(检查元素)中,如果我输入

document.querySelector('.ytp-play-button').click();

视频被播放,有没有办法简单地传递这个脚本(任何其他替代方案也可以做到这一点)。

我是一名学生,已经知道如何使用 selenium,只是想知道是否有一个简单的方法可以在没有 selenium 的情况下完成这件事。

哦,是的,当我简单地将 url 复制到 chrome 或 firefox 选项卡中时,视频会自动播放,而无需我按空格或单击播放按钮,如果您知道为什么会这样,请分享它。

感谢您的反馈。

【问题讨论】:

  • 显然,我必须授予 Firefox 权限才能在 YouTube 上自动播放。但我仍然不确定为什么从 python 打开 YouTube 视频需要权限,但直接输入 url 会自动播放视频。如果你知道这个问题的答案,请分享。
  • 因为脚本不被认为是“首先与文档交互”,因为它可以自动化。

标签: javascript python-3.x youtube web-inspector python-webbrowser


【解决方案1】:

您可以使用mpv 播放 youtube 视频。在 cmd 你可以播放视频Like This。现在使用 subprocess 或 os 模块,您可以运行该命令并播放

import os
os.system(f"mpv https://www.youtube.com/watch?v=WNeLUngb-Xg")

【讨论】:

    【解决方案2】:

    你可以使用

    webbrowser.open_new(url)
    

    【讨论】:

    • 你能扩展一下吗?这可能是准确的,但它不是一个很好的答案。
    【解决方案3】:

    你可以用pyautogui按空格

    import time
    import webbrowser
    import pyautogui
    
    try:
        client = webbrowser.get("firefox")
        client.open("https://" + open_url)
        time.sleep(30)       #give it a couple seconds to load
        pyautogui.press('space')
    except webbrowser.Error as e:
        print(e)
    

    【讨论】:

      【解决方案4】:

      你可以使用:

      import webbrowser
      webbrowser.open(url)
      webbrowser.get(browser).open(url)
      

      此外还有其他一些方法。

      【讨论】:

        猜你喜欢
        • 2016-04-06
        • 2014-05-01
        • 1970-01-01
        • 2012-08-09
        • 2014-02-07
        • 2013-09-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多