我想监听网络事件(基本上是当您转到 Chrome 开发者工具/检查上的“网络”选项卡时可以看到的所有事件)并在通过 Python 加载页面时记录特定事件。
这可能吗?谢谢!
具体:
- 前往
webpage.com
- 打开 Chrome 开发工具并转到
网络
标签 - 添加
api.webpage.com
作为过滤器 - 刷新页面[滚动]
我希望能够捕获这些事件的名称,因为有些特定 ID 无法通过 UI 获得。
最佳答案
2021 年更新 我必须对扎克的答案进行一些更改才能使其发挥作用。带有###的评论是我的评论
def get_perf_log_on_load(url, headless=True, filter=None):
# init Chrome driver (Selenium)
options = Options()
options.add_experimental_option('w3c', False) ### added this line
options.headless = headless
cap = DesiredCapabilities.CHROME
cap["loggingPrefs"] = {"performance": "ALL"}
### installed chromedriver.exe and identify path
driver = webdriver.Chrome(r"C:\Users\asiddiqui\Downloads\chromedriver_win32\chromedriver.exe", desired_capabilities=cap, options=options) ### installed
# record and parse performance log
driver.get(url)
if filter:
log = [item for item in driver.get_log("performance") if filter in str(item)]
else:
log = driver.get_log("performance")
driver.close()
return log
关于javascript - 有没有办法通过 Python 加载网页的网络事件(您可以在 Chrome 开发工具上看到)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54481532/