在 Python 中使用 selenium 启用 'Play DRM'
Enabled 'Play DRM' using selenium in Python
我正在尝试自学一些 python,并且我一直在从事一个使用 selenium 打开 firefox 并与 netflix 交互的项目,但我需要启用 'Play DRM' 进行流式传输,我在 'set_preferences' 中没有看到它,而且我无法在首选项中检查内容页面上的元素,所以我不确定如何启用它。
import time, pyautogui, os
from selenium import webdriver as wd
from selenium.webdriver.common.keys import Keys
profile = wd.FirefoxProfile()
ntfx='http://www.netflix.com/'
driver=wd.Firefox()
driver.get(ntfx)
url = driver.current_url
Ok 查看了 Firefox 配置文件并创建了一个自定义配置文件 here。我进入 preferences/content 并启用 "Play DRM" 并将路径添加到自定义配置文件
profile = wd.FirefoxProfile('./fire_fox_profile')
driver=wd.Firefox(profile)
作为使用 firefox 配置文件的替代解决方案,您可以这样做
driver.get('about:preferences')
driver.find_element_by_id('playDRMContent').click()
耗时 4 天,终于有了解决方案
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.addPreference("media.eme.enabled",true);
firefoxOptions.addPreference("media.gmp-manager.updateEnabled", true);
然后将firefoxOptions添加到驱动
@RonanB 的方法对我有用
只需在 firefox 中进入 about:profiles
然后在启用 DRM 的配置文件下,查找根目录。对我来说是:/home/myusername/.mozilla/firefox/14iw27z4.default-release
像这样:
myProfile = webdriver.FirefoxProfile('/home/myusername/.mozilla/firefox/14iw27z4.default-release')
driver = webdriver.Firefox(myProfile)
第一次在 Whosebug 上回答任何问题
这个小技巧对我有用,所以我所做的是
首先确保正常的 firefox(即未使用 selenium 或 firefox 启动时)能够播放 drm video。
接下来,我创建了名为 'selenium' 的新 firefox 配置文件,并使用 selenium 配置文件启动了 firefox。
在 windows 运行 程序中创建 firefox 配置文件 运行 'firefox -p' 命令。 picture for ref
现在在 'selenium' 配置文件 firefox 会话中转到 drm video 站点。 Firefox 下载了一些 drm 播放内容,并在一段时间后播放了 drm 视频。
然后我用这个代码启动了 firefox:-
从硒导入 webdriver
从 selenium.webdriver.common.keys 导入密钥
profile = webdriver.FirefoxProfile(r"C:\Users{USER}----SELENIUM 配置文件文件夹的路径----")
打印('lll')
driver = webdriver.Firefox(profile, executable_path=r'------------\firefox\geckodriver.exe')
url = 'http://amp.azure.net/libs/amp/latest/samples/videotag_multiDRM_PlayReadyWidevineFairPlay_notoken.html'
driver.get(url)
并且播放了我的 DRM 视频,
现在这对我有用不确定是否对你有用
测试于:-
Firefox 版本 92.0(64 位)
gechodriver 版本 geckodriver-v0.29.1-win64
我正在尝试自学一些 python,并且我一直在从事一个使用 selenium 打开 firefox 并与 netflix 交互的项目,但我需要启用 'Play DRM' 进行流式传输,我在 'set_preferences' 中没有看到它,而且我无法在首选项中检查内容页面上的元素,所以我不确定如何启用它。
import time, pyautogui, os
from selenium import webdriver as wd
from selenium.webdriver.common.keys import Keys
profile = wd.FirefoxProfile()
ntfx='http://www.netflix.com/'
driver=wd.Firefox()
driver.get(ntfx)
url = driver.current_url
Ok 查看了 Firefox 配置文件并创建了一个自定义配置文件 here。我进入 preferences/content 并启用 "Play DRM" 并将路径添加到自定义配置文件
profile = wd.FirefoxProfile('./fire_fox_profile')
driver=wd.Firefox(profile)
作为使用 firefox 配置文件的替代解决方案,您可以这样做
driver.get('about:preferences')
driver.find_element_by_id('playDRMContent').click()
耗时 4 天,终于有了解决方案
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.addPreference("media.eme.enabled",true);
firefoxOptions.addPreference("media.gmp-manager.updateEnabled", true);
然后将firefoxOptions添加到驱动
@RonanB 的方法对我有用
只需在 firefox 中进入 about:profiles 然后在启用 DRM 的配置文件下,查找根目录。对我来说是:/home/myusername/.mozilla/firefox/14iw27z4.default-release
像这样:
myProfile = webdriver.FirefoxProfile('/home/myusername/.mozilla/firefox/14iw27z4.default-release')
driver = webdriver.Firefox(myProfile)
第一次在 Whosebug 上回答任何问题
这个小技巧对我有用,所以我所做的是
首先确保正常的 firefox(即未使用 selenium 或 firefox 启动时)能够播放 drm video。
接下来,我创建了名为 'selenium' 的新 firefox 配置文件,并使用 selenium 配置文件启动了 firefox。
在 windows 运行 程序中创建 firefox 配置文件 运行 'firefox -p' 命令。 picture for ref
现在在 'selenium' 配置文件 firefox 会话中转到 drm video 站点。 Firefox 下载了一些 drm 播放内容,并在一段时间后播放了 drm 视频。
然后我用这个代码启动了 firefox:-
从硒导入 webdriver
从 selenium.webdriver.common.keys 导入密钥
profile = webdriver.FirefoxProfile(r"C:\Users{USER}----SELENIUM 配置文件文件夹的路径----") 打印('lll') driver = webdriver.Firefox(profile, executable_path=r'------------\firefox\geckodriver.exe')
url = 'http://amp.azure.net/libs/amp/latest/samples/videotag_multiDRM_PlayReadyWidevineFairPlay_notoken.html'
driver.get(url)
并且播放了我的 DRM 视频, 现在这对我有用不确定是否对你有用 测试于:-
Firefox 版本 92.0(64 位)
gechodriver 版本 geckodriver-v0.29.1-win64