【问题标题】:Selenium Webdriver - How to set proxy to "auto-detect" for FirefoxSelenium Webdriver - 如何将代理设置为 Firefox 的“自动检测”
【发布时间】:2012-03-31 01:27:13
【问题描述】:

我的脚本在 chrome 和 IE 上运行良好,但由于 firefox 为其代理设置设置了“手动”,因此无法在 firefox 上启动。如何将其设置为“自动检测”?

请使用 C# 源代码。

谢谢

【问题讨论】:

  • 默认情况下,您的 FF 浏览器中的代理设置是什么?那是你手动打开的时候?
  • 我的普通浏览器的默认设置是“自动检测”。然而,由于 Selenium 网络驱动程序启动了一个精简版本,它立即设置为“手动”。
  • 好的,您是否已经尝试使用自定义配置文件并将代理设置为自动检测?
  • 不,我没有……可能是因为我不知道怎么做! :-(你能建议吗?
  • Google 随时为您服务 :) stackoverflow.com/questions/9261133/…

标签: c# selenium selenium-webdriver webdriver


【解决方案1】:

您不必将 firefox 设置为自动检测。转到http://wpad/wpad.dat,它将返回设置代理的javascript文件。你可以在里面找到代理地址。 然后使用下面的代码来做这个技巧

FirefoxProfile profile = new FirefoxProfile();
            String PROXY = "xx.xx.xx.xx:8080";
            OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
            proxy.HttpProxy=PROXY;
            proxy.FtpProxy=PROXY;
            proxy.SslProxy=PROXY;
            profile.SetProxyPreferences(proxy);
            FirefoxDriver driver = new FirefoxDriver(profile);

【讨论】:

    【解决方案2】:

    感谢 AJ 的帮助。

    我使用以下代码解决了我的问题:

    FirefoxBinary binary = new FirefoxBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
    FirefoxProfile profile = new FirefoxProfile("C:\\test profile\\");          driver = new FirefoxDriver(binary, profile);
    

    我只是将 Mozilla 个人资料的内容复制到 "c:\test profile\"。这让我可以通过 Selenium 运行测试,同时也让其他 firefox 实例保持打开状态。

    【讨论】:

      【解决方案3】:

      您只需将此源添加到您的程序中:

      FirefoxProfile profile = new FirefoxProfile();
      String PROXY = "your URL WEB proxy:YourPort";
      OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
      proxy.HttpProxy = PROXY;
      proxy.FtpProxy = PROXY;
      proxy.SslProxy = PROXY;
      profile.SetProxyPreferences(proxy);
      

      【讨论】:

        猜你喜欢
        • 2015-07-29
        • 1970-01-01
        • 2015-03-19
        • 2019-04-04
        • 1970-01-01
        • 2019-08-07
        • 1970-01-01
        • 2010-10-25
        • 1970-01-01
        相关资源
        最近更新 更多