2016-10-30 8 views
2

Selenium Python Script를 통해 YouTube 용 Chrome에서 HAR을 다운로드하려고합니다. 코드 조각 :강제 Selenium Chrome 드라이버가 TCP 대신 QUIC를 사용하도록 설정

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 드라이버에서 QUICK를 사용하도록 할 수 있나요? 또는 BMP 대체품이 있습니까?

이 질문에 Firefox와 비슷한 질문이있어 How to capture all requests made by page in webdriver? Is there any alternative to Browsermob?이며 BMP가 필요없는 셀렌만으로 해결할 수있었습니다. Chrome에서도 그렇습니까?

답변

0

이 문제의 해결 방법은 다음과 같을 수 있습니다. Chrome을 정상적으로 시작 (기본 프로필로 사용하거나 다른 프로필 만들기)하고 수동으로 활성화하십시오. 그런 다음 프로필이로드 된 상태에서 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)