【问题标题】:How to disable location service by chromedriver selenium?如何通过 chromedriver selenium 禁用定位服务?
【发布时间】:2012-08-02 05:53:09
【问题描述】:

我正在使用 selenium 2 - Webdriver、Chromedriver、Java。我的一项测试需要关闭 Chrome 上的定位服务。

我注意到默认情况下,位置服务已打开 Chromedriver。

我想知道是否有办法在 chromedriver 上禁用定位服务?

非常感谢!

【问题讨论】:

  • 有谁知道chromedriver是否支持禁用定位服务?

标签: service selenium location selenium-chromedriver


【解决方案1】:

是的,这是可能的。 按以下方式使用 ChromeOptions 类:

 ChromeOptions options = new ChromeOptions();

 JSONObject jsonObject = new JSONObject();
 jsonObject.put("profile.default_content_settings.geolocation", 2);

 options.setExperimentalOption("prefs", jsonObject);
 WebDriver driver = new ChromeDriver(options);

您可以将其视为问题here的答案

【讨论】:

  • 感谢您的回复。
  • 如果 chrome 选项是 hashmap 形式,你会怎么做? Map chromeOptions = new HashMap();
  • @elrobe 我会尝试将相关条目从 Map 转换为 ChromeOptions。请注意,ChromeOptions.setExperimentalOption 接收字符串和对象参数,这正是您在地图中所拥有的。只需将地图中的值复制为 setExperimentalOption 参数即可。
  • 仅供参考:JSONObject是由这个库json-simple创建的。
  • SetExperimentalOption 在 chromeoptions 中不再可用我认为 AddAdditionalCapability() 会起作用
猜你喜欢
  • 2017-03-07
  • 1970-01-01
  • 2018-05-05
  • 1970-01-01
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 2021-03-09
  • 1970-01-01
相关资源
最近更新 更多