2012-03-31 98 views
2

我的腳本在Chrome和IE上運行良好,但由於firefox爲其代理設置設置了「手動」,因此無法在Firefox上啓動。我怎樣才能將其設置爲「自動檢測」?Selenium Webdriver - 如何將代理設置爲Firefox的「自動檢測」

C#中的源代碼。

謝謝

+0

默認情況下,是什麼在你的瀏覽器FF代理設置?那是當你手動打開它時? – 2012-03-31 14:08:52

+0

我的普通瀏覽器的默認設置是「自動檢測」。但是,由於Selenium webdriver發佈了一個精簡版本,因此在這一瞬間它被設置爲「手動」。 – automationguy 2012-04-01 19:15:59

+0

好的,您是否已經嘗試使用代理設置爲自動檢測的自定義配置文件? – 2012-04-02 14:59:10

回答

1

感謝您的幫助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實例。

4

您不必將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); 
0

你只需要這個源添加到您的程序:

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); 
相關問題