2

私のIEブラウザは以前にプロキシを設定していました。実行時に新しい InternetExplorerDriver インスタンスを初期化するときに、直接接続 (プロキシなし) を設定したいと考えています。FirefoxProfile ではできますが、DesiredCapabilities ではできません。以下のコードは、指定されたプロキシを設定するだけで、プロキシを設定しません。InternetExplorerDriver のプロキシを設定しないように手伝ってもらえますか?

String PROXY = "localhost:8080";

org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(PROXY)
     .setFtpProxy(PROXY)
     .setSslProxy(PROXY);
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new InternetExplorerDriver(cap);

私はそのようなものを持っているでしょう:

Proxy proxy = Proxy.NO_Proxy;
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver = new InternetExplorerDriver(cap);

[編集]

String ieDriverPath = Constants.PROJECT_PATH + "\\src\\lib\\handler\\IEDriverServer.exe";
        DesiredCapabilities ieCapabilities = new DesiredCapabilities();

        org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
        proxy.setProxyType(org.openqa.selenium.Proxy.ProxyType.DIRECT);
        ieCapabilities.setCapability(CapabilityType.PROXY, proxy);

        System.setProperty("webdriver.ie.driver", ieDriverPath);
        WebDriver webDriver = new InternetExplorerDriver(ieCapabilities);
        webDriver.manage().timeouts().implicitlyWait(Constants.SE_WAIT_IN_SECOND, TimeUnit.SECONDS);

上記のコードは機能しませんでした。以下のような失敗:

Aug 14, 2013 9:09:57 AM org.openqa.selenium.browserlaunchers.WindowsProxyManager backupRegistrySettings
INFO: Backing up registry settings...
Exception in thread "main" java.lang.RuntimeException: Bug extracting hudsuckr
    at org.openqa.selenium.browserlaunchers.WindowsProxyManager.extractHudsuckr(WindowsProxyManager.java:575)
    at org.openqa.selenium.browserlaunchers.WindowsProxyManager.runHudsuckr(WindowsProxyManager.java:585)
    at org.openqa.selenium.browserlaunchers.WindowsProxyManager.backupHudsuckrSettings(WindowsProxyManager.java:624)
    at org.openqa.selenium.browserlaunchers.WindowsProxyManager.backupRegistrySettings(WindowsProxyManager.java:286)
    at org.openqa.selenium.ie.InternetExplorerDriver.prepareProxy(InternetExplorerDriver.java:296)
    at org.openqa.selenium.ie.InternetExplorerDriver.run(InternetExplorerDriver.java:180)
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:174)
    at org.openqa.selenium.ie.InternetExplorerDriver.<init>(InternetExplorerDriver.java:147)
    at acccm.Testing.TID02.main(TID02.java:52)
Caused by: java.io.IOException: Unable to locate: hudsuckr/hudsuckr.exe
    at org.openqa.selenium.io.FileHandler.locateResource(FileHandler.java:86)
    at org.openqa.selenium.io.FileHandler.copyResource(FileHandler.java:55)
    at org.openqa.selenium.browserlaunchers.WindowsProxyManager.extractHudsuckr(WindowsProxyManager.java:572)
    ... 8 more

Selenium version: 2.33
OS: Win 7 64 bit
Browser: IE
Browser version: 8,9

よろしくお願いします。

前もって感謝します。

4

2 に答える 2

0

IE ドライバーのプロキシーを設定するには、selenium-server-standalone jar で出荷される hudsuckr.exe が必要です。

これをクラスパスに追加すると、問題が解決するはずです。

于 2013-12-05T06:41:11.770 に答える
0

次のコードが機能するはずです。

// WARNING! Untested code written from memory without the
// aid of an IDE. May not run or even compile as written
// here. Modify as necessary.
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setProxyType(org.openqa.selenium.Proxy.ProxyType.DIRECT);

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.PROXY, proxy);

// Only needed for Java (not for other languages), and requires
// version 2.35 or higher of WebDriver. Should bypass the Java
// server proxy setting routines and use the native IEDriverServer.exe
// ones.
cap.setCapability("ie.setProxyByServer", true);

WebDriver driver = new InternetExplorerDriver(cap);
于 2013-08-13T21:20:56.753 に答える