我的腳本在Chrome和IE上運行良好,但由於firefox爲其代理設置設置了「手動」,因此無法在Firefox上啓動。我怎樣才能將其設置爲「自動檢測」?Selenium Webdriver - 如何將代理設置爲Firefox的「自動檢測」
C#中的源代碼。
謝謝
我的腳本在Chrome和IE上運行良好,但由於firefox爲其代理設置設置了「手動」,因此無法在Firefox上啓動。我怎樣才能將其設置爲「自動檢測」?Selenium Webdriver - 如何將代理設置爲Firefox的「自動檢測」
C#中的源代碼。
謝謝
感謝您的幫助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實例。
您不必將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);
你只需要這個源添加到您的程序:
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);
默認情況下,是什麼在你的瀏覽器FF代理設置?那是當你手動打開它時? – 2012-03-31 14:08:52
我的普通瀏覽器的默認設置是「自動檢測」。但是,由於Selenium webdriver發佈了一個精簡版本,因此在這一瞬間它被設置爲「手動」。 – automationguy 2012-04-01 19:15:59
好的,您是否已經嘗試使用代理設置爲自動檢測的自定義配置文件? – 2012-04-02 14:59:10