首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >chrome自动化中的伪地理定位

chrome自动化中的伪地理定位
EN

Stack Overflow用户
提问于 2015-08-01 05:41:55
回答 4查看 4.6K关注 0票数 2

我需要使用python脚本自动在chrome中进行地理定位。我得伪造纬度和经度。我在stackoverflow中跟踪了一些链接,但它们给出了错误。chromeDriver.executeScript("window.navigator.geolocation.getCurrentPosition=function(success){var position ={“坐标”:{“纬度”:"555",“经度”:“999”}};success(位置);}“);

有没有其他方法可以改变位置?

EN

回答 4

Stack Overflow用户

发布于 2015-08-04 15:19:25

您必须在字符串内转义双引号,请尝试使用以下代码:

代码语言:javascript
运行
复制
driver.execute_script("window.navigator.geolocation.getCurrentPosition=function(success){"+
                                    "var position = {\"coords\" : {\"latitude\": \"555\",\"longitude\": \"999\"}};"+
                                    "success(position);}");

print(driver.execute_script("var positionStr=\"\";"+
                                "window.navigator.geolocation.getCurrentPosition(function(pos){positionStr=pos.coords.latitude+\":\"+pos.coords.longitude});"+
                                "return positionStr;"))
票数 1
EN

Stack Overflow用户

发布于 2020-02-20 20:35:34

它现在实际上可以通过使用Chrome Devtools协议(Cdp)进行编程:

代码语言:javascript
运行
复制
params = {
    "latitude": 50.1109,
    "longitude": 8.6821,
    "accuracy": 100
}

self.driver = webdriver.Chrome()
self.driver.execute_cdp_cmd("Page.setGeolocationOverride", params)
self.driver.get('https://www.google.com/maps')
票数 1
EN

Stack Overflow用户

发布于 2020-05-26 08:10:59

在Selenium 3.141和ChromeDriver 83.0中使用Python

这是我找到的工作方法:

代码语言:javascript
运行
复制
params = {
  "latitude": 34.0207305,
  "longitude": -118.6919153,
  "accuracy": 100
}
driver.execute_cdp_cmd("Emulation.clearGeolocationOverride", params)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31755633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档