2 回答

TA貢獻1921條經(jīng)驗 獲得超9個贊
我找到了一個效果很好的解決方案。我可以將站點添加到 Edge 的注冊表中允許的媒體設(shè)備站點列表中,而不是嘗試單擊按鈕以允許媒體設(shè)備。然后,我?guī)缀蹩梢粤⒓丛L問需要媒體設(shè)備的網(wǎng)站,并且沒有彈出窗口。
您想要的注冊表路徑是
HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\MediaCapture\AllowDomains
這在我測試的所有 Windows 10 機器上似乎都是一樣的。
在那里,您想創(chuàng)建協(xié)議和 IP/FQDN 的 DWORD 鍵,例如http://10.0.0.2or https://example.com,當您允許域時 Edge 設(shè)置的值是3,所以我使用它。
在我的特殊情況下,我已切換到 IronPython,因此我可以輕松地掛接到 Windows API 調(diào)用。這是我的代碼片段,用于完成這項工作。
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條經(jīng)驗 獲得超11個贊
我已經(jīng)在我的機器上重現(xiàn)了這個問題,但我認為這是 Windows 的行為,我們無法使用 selenium 進行設(shè)置。
從這篇文章中,我們可以看到:
如何在 Microsoft Edge 中瀏覽時允許網(wǎng)站使用你的攝像頭或麥克風
你可以將攝像頭和麥克風用于 Microsoft Edge 中的網(wǎng)站。但是,即使您的攝像頭和麥克風已為 Microsoft Edge 啟用,您仍需要授予各個網(wǎng)站權(quán)限,然后他們才能使用您的攝像頭和麥克風。就是這樣:
訪問想要使用您的麥克風和/或攝像頭的網(wǎng)站。
如果出現(xiàn)對話框詢問您是否要授予網(wǎng)站使用相機或麥克風的權(quán)限,請選擇允許一次或始終允許,或關(guān)閉對話框以阻止訪問。
允許權(quán)限后,我們可以在管理權(quán)限(Edge browser setting => Advanced => Manage permissions )下找到這個權(quán)限,截圖如下:
根據(jù)您的描述,當 Edge 瀏覽器退出時,您將清除會話、cookie 和緩存,如果您不想允許,每次權(quán)限,您可以取消選中網(wǎng)站權(quán)限選項(截圖如下),權(quán)限提示只會在我們第一次訪問頁面時顯示。
添加回答
舉報