2017-06-16 71 views
1

我想在Chrome驅動程序中禁用WebRTC,但無法弄清楚如何去做。如何禁用Chrome驅動程序中的WebRTC?

我想是這樣的(發現一些博客這個解決方案):

capabilities.setCapability("chrome.switches", Arrays.asList(
    "--disable-webrtc-multiple-routes", "--disable-webrtc-hw-encoding", 
    "--disable-webrtc-hw-decoding", "--disable-webrtc-encryption")); 

它不工作。是的,我知道在那裏沒有像「--disable-webrtc」這樣的東西,但是我發現了關於WebRTC的所有信息,我的意思是,我沒有找到其他WebRTC參數。

我搜索在這裏:https://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/chrome_switches.cc

還有:https://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/pref_names.cc

沒有找到任何的WebRTC。

+0

您能否考慮幫助我們更新WebRTC的全部內容? – DebanjanB

+0

@Debanjan你的意思是說明WebRTC是什麼? https://en.wikipedia.org/wiki/WebRTC。我想禁用它,因爲當我使用代理服務器並啓用了WebRTC時,部分流量直接進入(無代理服務器)。所以,如果WebRTC啓用有泄漏,一些網站可以知道我的真實IP。 – Helen

+0

所以這意味着使用代理並啓用WebRTC時會出現WebRTC的問題。您確定是否通過功能和代理來禁用WebRTC會滿足您的需求?由於我沒有使用任何代理服務器,因此我無法測試我想爲您提供的解決方案。謝謝 – DebanjanB

回答

1

我找到了解決方案。

我不知道如何直接在Chrome驅動程序設置中禁用WebRTC,但有另一種方法:添加一些WebRTC阻止擴展。以下是我如何做到的:

  1. 啓動Chrome瀏覽器並搜索Chrome Webstore中的獲取CRX擴展,安裝Get CRX。
  2. 現在,如果您在Chrome網上應用店中搜索任何其他擴展程序,請打開其頁面並右鍵單擊該頁面的任意位置,您會在上下文菜單中看到「獲取CRX」。找到您最喜愛的WebRTC阻止擴展,打開其頁面,然後單擊「獲取CRX」。下載.crx文件。現在,您可以在此.crx文件中使用WebRTC阻止擴展,並且可以在Chrome驅動程序中使用它。
  3. 使用此代碼來運行Chrome瀏覽器驅動器與擴展:

    Map<String, Object> chromeOptions = new HashMap<String, Object>(); 
    
    ArrayList<String> ext = new ArrayList<String>(); 
    byte[] byteExt = Files.readAllBytes(new File("path to .crx file").toPath()); 
    ext.add(Base64.encode(byteExt)); 
    chromeOptions.put("extensions", ext); 
    
    DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
    
    capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions); 
    
    WebDriver driver = new ChromeDriver(capabilities); 
    

該代碼添加的.crx擴展到Chrome瀏覽器選項。擴展名必須是base64編碼的。我使用Apache Commons lib對其進行編碼(導入org.apache.xerces.impl.dv.util.Base64)。

現在您的Chrome驅動程序將以WebRTC阻止擴展啓動,因此WebRTC將被禁用。

但是這種方法並不理想,因爲在這種情況下,您將在瀏覽器插件中使用WebRTC阻止擴展。所以,如果你想在測試某個站點時完全隨機(即不同的IP,不同的窗口大小,不同的用戶代理,不同的插件),它不會是這樣的,因爲你總是會有相同的插件。

因此,如果有人知道如何禁用沒有擴展名的WebRTC,那麼將非常感激。

相關問題