【问题标题】:How to allow or deny notification geo-location microphone camera pop up如何允许或拒绝通知地理位置麦克风摄像头弹出
【发布时间】:2018-06-09 00:21:13
【问题描述】:

我无法点击允许按钮访问相机验证弹出。

这是弹出窗口的外观。

【问题讨论】:

  • 弹出显示的原因是什么?你在哪个平台?什么样的应用程序?你试过什么?请给我们更多背景信息,以便我们更好地了解问题。
  • @BreaksSoftware 我正在开发的网站需要我的相机和麦克风。所以,我想允许这个身份验证弹出。我尝试过使用警报接受方法或通过切换窗口。但它是一个身份验证浏览器弹出。所以,我不认为它会帮助我。
  • @DebanjanB 是的,与此类似,我只需要允许弹出窗口而不是阻止。
  • @DebanjanB 我尝试使用以下代码:ChromeOptions options = new ChromeOptions(); options.addArguments("allow-file-access-from-files"); options.addArguments("使用假设备换媒体流"); options.addArguments("use-fake-ui-for-media-stream"); WebDriver driver = new ChromeDriver(options);但它正在打开新窗口,允许相机方法通过并失败到下一个方法。

标签: python selenium selenium-webdriver webdriver selenium-chromedriver


【解决方案1】:

AllowBlock通知MicrophoneCameraGeoLocation, Notification 使用 Selenium 访问你必须使用ChromeOptions 类如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opt = Options()
opt.add_argument("--disable-infobars")
opt.add_argument("start-maximized")
opt.add_argument("--disable-extensions")
# Pass the argument 1 to allow and 2 to block
opt.add_experimental_option("prefs", { \
    "profile.default_content_setting_values.media_stream_mic": 1, 
    "profile.default_content_setting_values.media_stream_camera": 1,
    "profile.default_content_setting_values.geolocation": 1, 
    "profile.default_content_setting_values.notifications": 1 
  })

driver = webdriver.Chrome(chrome_options=opt, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('https://www.google.co.in')
print("Page Title is : %s" %driver.title)
driver.quit()

【讨论】:

  • 我在使用此代码的下面一行遇到了一些错误。如果您能帮助我,我们将不胜感激:options.addArguments ("prefs", { "profile.default_content_setting_values.media_stream_mic":1, "profile.default_content_setting_values.media_stream_camera":1, })
  • 你能用你当前的代码块和错误堆栈跟踪更新问题吗?
  • 我的语法错误为:此行有多个标记 - 标记“:”上的语法错误,无效的 AssignmentOperator - 赋值的左侧必须是变量 在下面的行代码中: opt.add_experimental_option("prefs", { \ "profile.default_content_setting_values.media_stream_mic": 1, "profile.default_content_setting_values.media_stream_camera": 1, })
  • ChromeOptions 选项 = new ChromeOptions(); options.addArguments("allow-file-access-from-files"); options.addArguments("使用假设备换媒体流"); options.addArguments("use-fake-ui-for-media-stream"); WebDriver driver = new ChromeDriver(options); 这个方法帮助了我 ;-)
  • @DebanjanB,你能指出我在哪里可以获得实验选项标志列表吗?
【解决方案2】:

这个java代码帮助了我

public WebDriver initWebDriver() {
     ChromeOptions options = new ChromeOptions();
     options.addArguments("use-fake-device-for-media-stream");
     options.addArguments("use-fake-ui-for-media-stream");
     prefs = new HashMap<String, Object>();
     prefs.put("profile.default_content_setting_values.media_stream_mic", 1);
     prefs.put("profile.default_content_setting_values.media_stream_camera", 1);
     prefs.put("profile.default_content_setting_values.geolocation", 1);
     prefs.put("profile.default_content_setting_values.notifications", 1);
     options.setExperimentalOption("prefs", prefs);
     System.setProperty(CHROME_DRIVER, DRIVER_PATH);
     return new ChromeDriver(options);
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2020-10-25
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多