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 上有效,但在 PhantomJs 上超时。我正在测试的页面使用了很多我认为使用 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 回答