如何通过 chromedriver selenium 禁用定位服务?

Posted

技术标签:

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

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

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

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

非常感谢!

【问题讨论】:

有谁知道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() 会起作用

以上是关于如何通过 chromedriver selenium 禁用定位服务?的主要内容,如果未能解决你的问题,请参考以下文章

Selenium+Python进行web自动化测试(Demo+API)

如何通过 chromedriver selenium 禁用定位服务?

使用AShot进行网页全页截图

reCAPTCHA 3 如何知道我正在使用 Selenium/chromedriver?

我如何通过Selenium获得股票代码?

如何在 Ubuntu 上更新 Chromedriver?