Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have a Selenium test I want to run in Edge against a page which uses the webcam and microphone. In order for those media devices to work in the browser, the user has to allow the site access to the device.

This is a quick example fiddle I made which illustrates that behaviour in Edge: https://jsfiddle.net/12t3nofL/

You should notice the popup bar at the bottom of the screen, I need this to be automatically allowed in my automation.

I found these existing Q/As on SO already which suggest there is a way to allow media devices via the webdriver options, but they just don't work for me:

how to allow mic/camera in edge web browse suing selenium

How to enable 'Mircophone' access in Edge browser using Selenium?

This is my code (you may need to pip install selenium==3.141.0 first):

from selenium import webdriver
from selenium.webdriver.edge.options import Options
options = 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')

And the permissions bar still pops up at the bottom every time.

I am on Selenium 3.141.0 and Python 3.7.0 (though have the same issue in 2.7).

Note: due to other reasons, I have Edge set to clear sessions on exit so cookies and cache are not preserved - in an attempt to mimic the fresh profile you get with automated Chrome.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
265 views
Welcome To Ask or Share your Answers For Others

1 Answer

I have reproduced the problem on my machine, but I think this is a Windows behavior, and we can't set using selenium.

From this article, we can see that:

How to allow a website to use your camera or microphone while browsing in Microsoft Edge

You can use your camera and microphone for websites in Microsoft Edge. However, even when your camera and microphone are enabled for Microsoft Edge, you will still need to give individual websites permission before they can use your camera and microphone. Here’s how:

  1. Go to a website that wants to use your microphone and/or camera.
  2. If a dialog box appears asking if you want to give the website permission to use your camera or microphone, select Allow once or Always allow, or close the dialog box to block access.

After allowed the permission, we can find this permission under the Manage permissions (Edge browser setting => Advanced => Manage permissions), screenshot as below:

enter image description here

From your description, when Edge browser exit, you will clear sessions, cookie and cache, if you don't want to allow, the permission every time, you could uncheck the Website Permissions option (screenshot as below), the permission prompts will only show when we first visit the page.

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...