2016-10-30 62 views
2

我正在通過Selenium Python Script從Chrome for Chrome下載HAR。 代碼段:強制Selenium Chrome驅動程序使用QUIC而不是TCP

chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument("--proxy-server={0}".format(url)) 
chrome_options.add_argument("--enable-quic") 

self.driver = webdriver.Chrome(chromedriver,chrome_options = chrome_options) 

self.proxy.new_har(args['url'], options={'captureHeaders': True}) 
self.driver.get(args['url']) 
result = json.dumps(self.proxy.har, ensure_ascii=False) 

我想,每當我下載HAR使用QUIC,但是當我看到通過Wireshark的硒驅動程序包只使用TCP。有沒有辦法強制Chrome驅動程序使用QUIC?還是有替代BMP?

在這個問題中,Firefox已經問過類似的問題How to capture all requests made by page in webdriver? Is there any alternative to Browsermob?,並且有一個單獨的Selenium解決方案,不需要任何BMP。那麼Chrome有可能嗎?

回答

0

解決此問題的方法可能是:正常啓動Chrome(使用您的默認配置文件或創建其他配置文件)並手動啓用quic。然後啓動與您的個人資料加載chromedriver。

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 
options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=/home/user/.config/google-chrome") 
driver = webdriver.Chrome(executable_path="/home/user/Downloads/chromedriver", chrome_options=options) 
相關問題