Chromium devtools / CDP Mock геолокация не работает - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь настроить фиктивную геолокацию с помощью хрома без поддержки через CDP (протокол отладки chrome) и предоставить разрешение «геолокация» для определенной или всех областей сайта. В настоящее время у меня возникают некоторые проблемы. Даже после предоставления разрешения на определение местоположения хоста на тестовом веб-сайте все еще говорится, что он запрашивает у пользователя доступ, например, через всплывающее окно разрешения доступа к расположению / уведомлениям и т. Д.

Может ли кто-нибудь сказать мне, является ли их проблема в порядке команд, используемых для установки фиктивного расположения с помощью cdp, или если это какие-либо другие проблемы, связанные с аргументами chromedriver / chrome, которые не позволяют или не позволяют этой функции быть доступной набез головы?

вот пример того, что я сейчас пробую: (https://str8up.media/test.txt)

 print "devtools setting up geoapi auths"
        command = {
                      "id": 5,
                      "method": "Browser.grantPermissions",
                      "params": {
                        "origin": 'https://browserleaks.com',
                        "permissions": ["geolocation"]
                      }
                  }
        ws.send(json.dumps(command))




    result =  ws.recv()
    print "Received geoapi auths result'%s'" % result


    print "devtools changing geoapi"
    command = {
                  "id": 6,
                  "method": "Page.setGeolocationOverride",
                  "params": {
                    "latitude": 27.1752868,
                    "longitude": 78.040009,
                    "accuracy": 100
                  }
              }
    ws.send(json.dumps(command))



    result =  ws.recv()
    print "Received geolocation change result'%s'" % result


    print "[!] devtools changing page..."
    command = {
                  "id": 14,
                  "method": "Page.navigate",
                  "params": {
                    "url": "https://browserleaks.com/geo",
                    "referrer": "http://finallyexamplereferer.com",
                   }
              }
    ws.send(json.dumps(command))
    result =  ws.recv()
    print "pagechange response: %s" % result

работает с:

Linux 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
ChromeDriver 80.0.3957.0 (60b069c753ac47f4d444b8ac1f08a22c32a131e1-refs/heads/master@{#711741})
Chromium 80.0.3957.0

Любая помощь будеточень ценю, так как я изо всех сил пытаюсь заставить это работать.

Спасибо

...