Я использую Python / Chromedriver / GoogleChrome / Selenium без заголовка на Python, и у меня возникли некоторые проблемы с выяснением, как программно установить собственную геолокацию long / lat;следующий код не обновляет местоположение на google.com или https://www.infobyip.com/browsergeolocation.php
В данный момент я запускаю chromedriver со следующими параметрами:
chrome_options.add_experimental_option("prefs", {
"profile.default_content_setting_values.media_stream_mic": 1,
"profile.default_content_setting_values.media_stream_camera": 1,
"profile.default_content_setting_values.geolocation": 1,
"profile.default_content_setting_values.notifications": 1,
"profile.default_content_settings.geolocation": 1,
"profile.default_content_settings.popups": 0
})
Я могу позвонить и установить / получитьgeolocation long / lat с этими командами:
driver.execute_script("""navigator.geolocation.getCurrentPosition = function(success, failure) {
success({
coords: {latitude: -43.5333, longitude: 172.633},
timestamp: Date.now(),
});
}""");
time.sleep(5)
print(driver.execute_script("var positionStr=\"\";"+
"window.navigator.geolocation.getCurrentPosition(function(pos){positionStr=pos.coords.latitude+\":\"+pos.coords.longitude});"+
"return positionStr;"))
Это возвращает обновленный long / lat, который я установил. НО при использовании https://www.infobyip.com/browsergeolocation.php или http://google.com, он не захватывает новую геолокацию и не работает.
Как установить пользовательскую геолокацию с помощью аргументов конфигурации chromedriver, программные средства chrome devили путем изменения файлов в каталоге профиля моего chrome? Другие ответы для pythons selenium при переполнении стека, похоже, здесь не работают.