python - Python Selenium - 覆盖地理位置不起作用
问题描述
我正在尝试使用 selenium webdriver 导航到谷歌地图,同时在 Python 中模拟不同的位置。
这似乎不起作用:
from selenium import webdriver
driver = webdriver.Chrome()
params = {
"latitude": 42.1408845,
"longitude": -72.5033907,
"accuracy": 100
}
driver.execute_cdp_cmd("Emulation.setGeolocationOverride", params)
driver.get("https://maps.google.com")
当谷歌地图打开时,我得到的是我当前的位置,而不是params
.
我究竟做错了什么?使用硒 4。
解决方案
其实你快到了。你只需要点击你的位置按钮。使用这个:
from selenium import webdriver
from selenium.webdriver.common.by import By #added
from selenium.webdriver.support.ui import WebDriverWait #added
from selenium.webdriver.support import expected_conditions as EC #added
driver = webdriver.Chrome()
params = {
"latitude": 42.1408845,
"longitude": -72.5033907,
"accuracy": 100
}
driver.execute_cdp_cmd("Emulation.setGeolocationOverride", params)
driver.get("https://maps.google.com")
element = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "widget-mylocation"))) #added
element.click(); #added
推荐阅读
- google-analytics - GA4 到大查询 - 创建数据集但未找到表
- reactjs - 如何在 React 中将动态值从一个组件传递到另一个组件
- javascript - ng-href 没有正确的 url
- mysql - WHERE IN () 中的 SELECT 和 INNER JOIN
- python - 如何在 Django 表单中显示变量?
- node.js - DynamoDB Stream 批次中只有一项
- django - 达芙妮不接受 websocket 连接
- javascript - 找不到模块:无法在 nextjs 中解析“@your-org/core-lib”?
- flutter - showDialog 总是返回 null
- angular - 如何在日期选择器中更改月份时定义事件?