【问题标题】:How to set the value of chrome.privacy.network.webRTCIPHandlingPolicy using Selenium如何使用 Selenium 设置 chrome.privacy.network.webRTCIPHandlingPolicy 的值
【发布时间】:2020-06-25 19:11:26
【问题描述】:

有人知道如何使用 Selenium ChromeDriver 将 chrome.privacy.network.webRTCIPHandlingPolicy 的值设置为 disable_non_proxied_udp 吗?

我不确定这是通过set_experimental_options 还是set_desired_capabilities 完成的。

【问题讨论】:

    标签: python selenium google-chrome selenium-webdriver selenium-chromedriver


    【解决方案1】:

    根据disable_non_proxied_udp allows non-proxied TURN 的讨论,启用“防止 WebRTC 泄露本地 IP 地址” 会将 chrome.privacy.network.webRTCIPHandlingPolicy 设置为 disable_non_proxied_udp

    参数--force-webrtc-ip-handling-policy 覆盖WebRTC IP 处理策略,以模仿在首选项中指定WebRTC IP 处理策略时的行为。

    因此,作为首选项,您需要将enforce-webrtc-ip-permission-check 设置为True

    所以有效的代码块:

    • Python

      from selenium import webdriver
      
      options = webdriver.ChromeOptions() 
      options.add_experimental_option("prefs", { \
        "enforce-webrtc-ip-permission-check": True 
        })
      options.add_argument("force-webrtc-ip-handling-policy")
      driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
      driver.get("https://www.google.com/")
      
    • Java

      HashMap<String, Object> prefs = new HashMap<>();
      prefs.put("enforce-webrtc-ip-permission-check", true);
      ChromeOptions options = new ChromeOptions();
      options.setExperimentalOption("prefs", prefs);
      options.addArguments("force-webrtc-ip-handling-policy"); 
      WebDriver driver =  new ChromeDriver(options); 
      driver.get("https://www.google.com/");
      

    【讨论】:

    • 感谢您的回答,我正在寻找一种方法来防止 webrtc 通过使用我的代理服务器的 ip 泄露我的公共 ip。有没有办法通过更改 webrtc ip 处理策略来实现这一点?再次感谢。
    • 似乎当我将 selenium 配置为使用 http 或 socks 代理时,我的公共 ip 仍然泄漏。我认为这是由于大多数代理不支持 udp(如您链接的页面中所述),因此 ip 处理策略回退到模式 3,使用 tcp 和/或回退到连接到TURN 服务器让我原来的公共 IP 仍然可见?
    • @Asian 这很有可能。
    • 防止WebRTC泄露我的公共IP(不禁用它)是可能的还是不可能的?谢谢
    【解决方案2】:
        preferences = {"webrtc.ip_handling_policy": "disable_non_proxied_udp", "webrtc.multiple_routes_enabled": False,
                       "webrtc.nonproxied_udp_enabled": False, "profile.managed_default_content_settings.images": 2}
    
        option.add_experimental_option("prefs", preferences)
    

    【讨论】:

      猜你喜欢
      • 2021-11-04
      • 2013-04-25
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      相关资源
      最近更新 更多