2

クリックすると新しいポップアップウィンドウを開く入力要素があります(ユーザーがフィールドの値を選択できる場所)。

マークアップ:

<html>
<input type="text" id="myPopup" readonly="readonly" name="myPopup">
</html>

c#:

    var driver = new PhantomJSDriver(@"C:\PhantomJS");
    driver.Navigate().GoToUrl(@"http://username:password@localhost/myUrl.aspx");
    var popupField = driver.FindElementById("myPopup");
    popupField.Click();

(Windows 認証の URL で資格情報を渡しています)

WebDriverException が発生します。

「URL ...element/:wdc:1389663237442/click のリモート WebDriver サーバーへの HTTP 要求が 60 秒後にタイムアウトしました。」

私が試した他のすべての相互作用は、この特定の要素を除いて機能します。IE/Chrome ドライバーでも試してみましたが、うまくいきました。

何か案は?

PhantomJS 1.9.2、C# / GhostDriver、Selenium Webdriver 2.39、Windows 7 x64。他に提供できる情報があれば教えてください。

4

1 に答える 1

1

同様の問題がありました。あなたが説明したように、テストはFFで機能しましたが、PhantomJでタイムアウトしました。私がテストしていたページでは、XHR を使用していると思われるソーシャル メディア プラグインが多数使用されていました。PhantomJs のセキュリティ制限のほとんどを削除すると、修正されました (以下を参照)。

service.IgnoreSslErrors = true;
service.WebSecurity = false; 
service.LocalToRemoteUrlAccess = true; 
service.DiskCache = true; // Dunno what this does but I thought it might help.
PhantomJSDriver driver = new PhantomJSDriver(service);
于 2014-02-27T09:38:23.930 に答える