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 的路徑部分。

TA貢獻1786條經驗 獲得超11個贊
我已經在我的機器上重現了這個問題,但我認為這是 Windows 的行為,我們無法使用 selenium 進行設置。
從這篇文章中,我們可以看到:
如何在 Microsoft Edge 中瀏覽時允許網站使用你的攝像頭或麥克風
你可以將攝像頭和麥克風用于 Microsoft Edge 中的網站。但是,即使您的攝像頭和麥克風已為 Microsoft Edge 啟用,您仍需要授予各個網站權限,然后他們才能使用您的攝像頭和麥克風。就是這樣:
訪問想要使用您的麥克風和/或攝像頭的網站。
如果出現對話框詢問您是否要授予網站使用相機或麥克風的權限,請選擇允許一次或始終允許,或關閉對話框以阻止訪問。
允許權限后,我們可以在管理權限(Edge browser setting => Advanced => Manage permissions )下找到這個權限,截圖如下:
根據您的描述,當 Edge 瀏覽器退出時,您將清除會話、cookie 和緩存,如果您不想允許,每次權限,您可以取消選中網站權限選項(截圖如下),權限提示只會在我們第一次訪問頁面時顯示。
添加回答
舉報