亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Selenium 在 Edge 瀏覽器中啟用媒體設備訪問?

如何使用 Selenium 在 Edge 瀏覽器中啟用媒體設備訪問?

慕娘9325324 2022-06-28 16:12:14
我有一個 Selenium 測試,我想在 Edge 中針對使用網絡攝像頭和麥克風的頁面運行。為了讓這些媒體設備在瀏覽器中工作,用戶必須允許站點訪問設備。這是我制作的一個快速示例小提琴,它說明了 Edge 中的行為:https ://jsfiddle.net/12t3nofL/您應該注意到屏幕底部的彈出欄,我需要在我的自動化中自動允許它。這是我的代碼(你可能需要pip install selenium==3.141.0先):from selenium import webdriverfrom selenium.webdriver.edge.options import Optionsoptions = Options()options.set_capability("dom.webnotifications.enabled", 1)options.set_capability("permissions.default.microphone", 1)options.set_capability("permissions.default.camera", 1)capabilities = options.to_capabilities()driver = webdriver.Edge(capabilities=capabilities)driver.get('https://jsfiddle.net/12t3nofL')而且每次底部都會彈出權限欄。我在 Selenium 3.141.0 和 Python 3.7.0 上(盡管在 2.7 中有同樣的問題)。注意:由于其他原因,我將 Edge 設置為在退出時清除會話,因此不會保留 cookie 和緩存 - 試圖模仿您使用自動 Chrome 獲得的新配置文件。
查看完整描述

2 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

我找到了一個效果很好的解決方案。我可以將站點添加到 Edge 的注冊表中允許的媒體設備站點列表中,而不是嘗試單擊按鈕以允許媒體設備。然后,我幾乎可以立即訪問需要媒體設備的網站,并且沒有彈出窗口。


您想要的注冊表路徑是


HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\MediaCapture\AllowDomains

這在我測試的所有 Windows 10 機器上似乎都是一樣的。


在那里,您想創建協議和 IP/FQDN 的 DWORD 鍵,例如http://10.0.0.2or https://example.com,當您允許域時 Edge 設置的值是3,所以我使用它。


在我的特殊情況下,我已切換到 IronPython,因此我可以輕松地掛接到 Windows API 調用。這是我的代碼片段,用于完成這項工作。


from Microsoft.Win32 import Registry


def add_edge_media_domain(domain):

    path = "HKEY_CURRENT_USER\\SOFTWARE\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\CurrentVersion\\AppContainer\\Storage\\microsoft.microsoftedge_8wekyb3d8bbwe\\MicrosoftEdge\\MediaCapture\\AllowDomains"

    Registry.SetValue(path, domain, 3)

在我打電話之前,我打電話driver.get(url)給add_edge_media_domain(trim_url(url))wheretrim_url只是切斷 URL 的路徑部分。


查看完整回答
反對 回復 2022-06-28
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

我已經在我的機器上重現了這個問題,但我認為這是 Windows 的行為,我們無法使用 selenium 進行設置。

這篇文章中,我們可以看到:

如何在 Microsoft Edge 中瀏覽時允許網站使用你的攝像頭或麥克風

你可以將攝像頭和麥克風用于 Microsoft Edge 中的網站。但是,即使您的攝像頭和麥克風已為 Microsoft Edge 啟用,您仍需要授予各個網站權限,然后他們才能使用您的攝像頭和麥克風。就是這樣:

  1. 訪問想要使用您的麥克風和/或攝像頭的網站。

  2. 如果出現對話框詢問您是否要授予網站使用相機或麥克風的權限,請選擇允許一次或始終允許,或關閉對話框以阻止訪問。

允許權限后,我們可以在管理權限(Edge browser setting => Advanced => Manage permissions )下找到這個權限,截圖如下:

http://img1.sycdn.imooc.com//62bab80f000172ed05660217.jpg

根據您的描述,當 Edge 瀏覽器退出時,您將清除會話、cookie 和緩存,如果您不想允許,每次權限,您可以取消選中網站權限選項(截圖如下),權限提示只會在我們第一次訪問頁面時顯示。

http://img1.sycdn.imooc.com//62bab81b0001b77104040529.jpg


查看完整回答
反對 回復 2022-06-28
  • 2 回答
  • 0 關注
  • 414 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號