Browsermob代理卡住抓取HAR文件

时间:2018-07-28 00:17:09

标签: python firefox selenium-webdriver browsermob-proxy har

我正在使用Selenium进行一些测试,但是首先我需要获取某个网站的HAR文件(目前https://www.nba.com)。在我的Mac上,在NBA网站上获取HAR文件效果很好,但是当我在Windows VM上运行类似程序(针对Windows进行了一些调整)时,Firefox陷入了加载页面的麻烦,并且从未完成过HAR文件。相同的程序几乎可以在我们运行的所有其他网站上运行,但会卡在nba.com上。

这是我们的代码:

from browsermobproxy import Server
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import json
import time

siteURL = 'https://www.nba.com'
t0 = time.time()


server = Server('path to browsermobproxy.bat')
server.start()
print 'Server started'
proxy = server.create_proxy()
profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile,executable_path="path to geckodriver.exe")
proxy.new_har(siteURL, options={'captureHeaders': True})
driver.get(siteURL)
result = json.dumps(proxy.har,ensure_ascii=False)
with open('output.har', 'w') as outfile:
     json.dump(result, outfile)
server.stop()
print 'HAR file grabbed'
HARfile = result
driver.quit()

t1 = time.time()

print t1-t0

除非我们让它运行30000ms并且Selenium超时,否则不会引发任何错误。

谢谢

0 个答案:

没有答案