HAR, созданный прокси-сервером Browsermob, не отображает Google Analytics на странице - PullRequest
0 голосов
/ 07 мая 2019

Я пишу скрипт на Python, чтобы определить, установлен ли Google Analytics на странице.

Попытка найти его в коде не будет работать, так как иногда он устанавливается через Google Tag Manager.

Итак, я пытаюсь сгенерировать HAR с помощью прокси-сервера Browsermob и проверить там.

Для некоторых сайтов, где установлена ​​Google Analytics, он также находится в HAR, но для некоторых сайтов этонет (хотя если вы проверите его на вкладке сети браузера, вы можете найти его там).

Ниже приведен код, который я использую на сайте, для которого установлена ​​Google Analytics, но это не так.показывая в HAR.

Есть идеи почему?

from browsermobproxy import Server
from selenium.webdriver.firefox.options import Options
from selenium import webdriver
import json

server = Server("/anaconda3/lib/python3.7/site-packages/browsermobproxy/browsermob-proxy-2.1.4/bin/browsermob-proxy")
server.start()
proxy = server.create_proxy()

profile  = webdriver.FirefoxProfile()#profile_directory=r'./'
profile.set_proxy(proxy.selenium_proxy())

opts = Options()
opts.headless = True

driver = webdriver.Firefox(profile, executable_path=r'./geckodriver', options=opts)

proxy.new_har()
driver.get("http://insightwhale.com")
proxy.har # returns a HAR JSON blob

print("analytics in insightwhale:")
for entry in proxy.har["log"]["entries"]:
    if "google-analytics" in entry["request"]["url"]:
        print(entry["request"]["url"])

print(json.dumps(proxy.har, indent=4, sort_keys=True))
file = open("____tmp.txt", "w")
file.write(json.dumps(proxy.har, indent=4, sort_keys=True))
file.close()

server.stop()
driver.quit()
...