Java 如何在Chrome驱动程序中禁用WebRTC?
我想在Chrome驱动程序中禁用WebRTC,但不知道怎么做 我试着这样做(在一些博客中找到了这个解决方案): 它不起作用。是的,我知道这里没有类似于--“禁用webrtc”的东西,但这是关于webrtc的所有发现,我的意思是,我没有找到其他一些webrtc参数 我在这里搜索: 在那里: 没有找到关于WebRTC的任何信息。我找到了解决方案 我不知道如何在Chrome驱动程序设置中直接禁用WebRTC,但还有另一种方法:添加一些WebRTC阻塞扩展。我是这样做的:Java 如何在Chrome驱动程序中禁用WebRTC?,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,我想在Chrome驱动程序中禁用WebRTC,但不知道怎么做 我试着这样做(在一些博客中找到了这个解决方案): 它不起作用。是的,我知道这里没有类似于--“禁用webrtc”的东西,但这是关于webrtc的所有发现,我的意思是,我没有找到其他一些webrtc参数 我在这里搜索: 在那里: 没有找到关于WebRTC的任何信息。我找到了解决方案 我不知道如何在Chrome驱动程序设置中直接禁用WebRTC,但还有另一种方法:添加一些WebRTC阻塞扩展。我是这样做的: 启动您的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);
Map chromeOptions=new HashMap();
ArrayList ext=新的ArrayList();
byte[]byteExt=Files.readAllBytes(新文件(“指向.crx文件的路径”).toPath();
ext.add(Base64.encode(byteExt));
chromeOptions.put(“扩展名”,ext);
DesiredCapabilities=DesiredCapabilities.chrome();
能力。设置能力(ChromeOptions.CAPABILITY,ChromeOptions);
WebDriver=新的ChromeDriver(功能);
因此,如果有人知道如何在没有扩展的情况下禁用WebRTC,我们将不胜感激。这里有一种在Python中部分禁用WebRTC的方法。这些是webRTC扩展/插件在Chrome中切换的选项。这些选项可防止IP泄漏问题。Java可能与此类似
# partially disable webrtc
preferences = {
"webrtc.ip_handling_policy" : "disable_non_proxied_udp",
"webrtc.multiple_routes_enabled": False,
"webrtc.nonproxied_udp_enabled" : False
}
chrome_options.add_experimental_option("prefs", preferences)
在Chrome 72上工作,但是应该在所有版本48和UP上工作。
你能考虑帮助我们更新WebRTC的全部吗?“DeBayJun.你是指解释WebRTC是什么吗?”我想禁用它,因为当我使用代理并启用WebRTC时,部分流量会直接(不使用代理)传输。因此,如果启用了WebRTC,则存在漏洞,一些站点可以知道我的真实ip。因此,这意味着当使用代理并启用WebRTC时,会出现WebRTC问题。您是否确定通过功能禁用WebRTC并包括代理将满足您的需要?因为我没有使用任何代理,所以我没有办法测试我想提供给您的解决方案。Thanks@DebanjanB是的,我确定。这会禁用WebRTC中的特定功能,而不是整个WebRTC。虽然这些选项仅部分禁用WebRTC,但它们可以防止所有WebRTC IP泄漏问题。对于许多人,包括我自己,这是禁用webRTC的主要原因。这是迄今为止最好的工作解决方案。我做了测试,它只是不工作,我的ip在泄漏的ip列表中!# partially disable webrtc
preferences = {
"webrtc.ip_handling_policy" : "disable_non_proxied_udp",
"webrtc.multiple_routes_enabled": False,
"webrtc.nonproxied_udp_enabled" : False
}
chrome_options.add_experimental_option("prefs", preferences)