我正在将browser-mob-proxy模块和硒用于python,以便记录网站在使用时发送的某些内容。
我正在做的是使用browser-mob-proxy创建服务器,然后为该服务器创建代理。然后,我创建一个HAR来记录数据。以后我会将这些数据用于其他用途。
我想知道是否有一种方法可以重置HAR文件,使其为空,或者是否必须创建一个新的HAR来存储新数据。
代理已分配给使用chrome驱动程序的硒浏览器。
答案 0 :(得分:0)
我在测试框架中执行此操作,因此每个测试都有自己的HAR文件用于调试。即使他们使用相同的浏览器。
您要查找的命令是“ new_har”。这将创建一个新会话,并开始记录到新的HAR文件。您也可以为会话指定名称。我通常会先获取旧的HAR,然后在清除并开始新会话之前将其保存。但是,如果您只想清除代理日志,则不必这样做。
这是使用Python模块的示例。
from browsermobproxy import Server
server = Server("path/to/browsermob-proxy")
server.start()
proxy = server.create_proxy()
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)
proxy.new_har("google") # Start first session
driver.get("http://www.google.co.uk")
proxy.har # returns a HAR JSON blob for first session
proxy.new_har("Yahoo") # Start second session
driver.get("http://www.yahoo.co.uk")
proxy.har # returns a HAR JSON blob for second session
server.stop()
driver.quit()