selenium - 如何在 chromedriver 中启用地理定位支持?

标签 selenium geolocation chromium

我需要使用 Selenium 测试 JS 地理定位功能,并且我正在使用 chromedriver 在最新的 Chrome 上运行测试。

现在的问题是 Chrome 提示我在测试期间启用地理定位,而我不知道如何在运行时单击那个小栏,所以我正在拼命寻找一种方法来启动 chromedriver 和 chrome,并带有一些选项或触发器默认情况下启用此功能。我能找到的所有 here然而,我如何完全禁用地理定位。

我该如何解决这个问题?

最佳答案

chromedriver wiki 的已知问题部分他们说你不能指定自定义配置文件

这就是为什么在我看来,@Sotomajor 关于在 Chrome 中使用配置文件的回答,就像在 Firefox 中一样行不通。

在我的一次集成测试中,我遇到了同样的问题。但是因为我并不关心真正的地理位置值,所以我所要做的就是模拟 window.navigator.gelocation

在您的 Java 测试代码中,将此解决方法用于避免 Chrome geoloc 权限信息栏。

chromeDriver.executeScript("window.navigator.geolocation.getCurrentPosition =
功能(成功){
var position = {“坐标”:{
"纬度": "555",
“经度”:“999”
}
};
成功(位置);}”);

这里的纬度 (555) 和经度 (999) 值只是测试值

关于selenium - 如何在 chromedriver 中启用地理定位支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8411816/

相关文章:

python - 元素不可见异常 : element not visible Python

python - 无法从 AWS 机器上的 python 中的 selenium 调用 firefox

python - 如何使用 python selenium 包打开 chrome webdriver,登录默认用户?

selenium - RemoteWebDriver SetFileDetector 给出异常 org.openqa.selenium.UnsupportedCommandException :

javascript - 在 mongodb 地理位置查询中使用对象属性作为 $maxDistance 参数

database - 根据距离和受欢迎程度对地点进行排名

javascript - 如何通过 javascript 在 Chromium 中突出显示固定选项卡

iphone - iPhone 上的位置数据

Javascript 读取 Mime 类型 CSV 始终为空

javascript - 如何在 Chromium 上使用 Web Speech API?