我使用Java中的Selenium Webdriver(Chromedriver)以及BrowserMob Proxy Server來捕獲har文件中的HTTP流量。我最近遇到了一個網站部分無法加載的問題,並且我將其縮小到這個錯誤: 「無法加載資源https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js」。由於使用Selenium Webdriver和BrowserMob代理來捕獲har文件,導致SSL證書無法加載資源
似乎在使用代理服務器時,Selenium驅動程序無法訪問https鏈接的SSL證書。下面是我使用的代碼片段:
ProxyServer server = new ProxyServer(4040);
server.start();
Proxy proxy = server.seleniumProxy();
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
driver = new ChromeDriver(capabilities);
server.newHar("myHar");
Har har = server.getHar();
server.stop();
我曾嘗試加入"capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);"
,這解決了上述問題,但只有當我刪除"capabilities.setCapability(CapabilityType.PROXY, proxy);"
,然後我不再能捕捉到哈日文件。
我試着切換到一個Firefox驅動程序,並設置了一個Firefox的配置文件,但要麼我沒有做到這一點,否則它也不適用於我的目的。
我也嘗試在受信任的根證書頒發機構中設置隨BrowserMob代理一起提供的cybervillainsCA證書,但那也沒有解決問題。
有誰知道如何解決這個問題,我可以收集HTTP流量以及成功加載上面提到的資源?
它可能我一個重複的問題[這一個](http://stackoverflow.com/questions/19682868/how-can-i-intercept -ssl-請求與 - browsermob代理/ 19862030#19862030) –