首页 > 解决方案 > 如何使用python和selenium动态获取网页中触发的标签

问题描述

我有一个谷歌分析代码触发的网站(通过谷歌标签管理器)。该网站有很多页面,我想检查 Google Analytics 代码是否在所有页面上触发。一种方法是打开 URL,打开 GA 调试器并检查控制台中的综合浏览量。由于有很多 URL 需要检查,有没有办法自动化这个过程(最好通过 Python)

到目前为止我已经尝试过:我已经设法获取页面的源代码,然后通过正则表达式查找特定代码片段(GA 和 GTM)您可以在下面找到代码。但问题是这只会获取静态代码。在页面实际加载后触发的任何像素/代码都不会被捕获。

from selenium import webdriver

driver = webdriver.Chrome(executable_path=r"C:\chromedriver.exe")
driver.get("url")

html1 = driver.page_source

html2 = print(driver.execute_script("return 
document.documentElement.innerHTML;"))

我也尝试使用 BS4 和请求,但没有任何用处。

标签: python-3.xseleniumgoogle-analyticsinspect-element

解决方案


我正在使用带有 selenium 驱动程序的BrowserMob 代理来捕获在测试运行时发送的所有 HTTP 请求和响应,然后循环检查每个包含“google-analytics”的请求 url。然后我解析该请求以检查事件值是否符合我的预期。


推荐阅读