Capybara Poltergeist不执行javascript

时间:2015-01-07 18:26:28

标签: javascript ruby-on-rails capybara poltergeist

我正在编写一个Rails 3应用程序,其中一段代码试图使用Capybara Poltergeist浏览网站。
该网站的正文有一个框架:

    <frame src = "Nsis/html/Splash.jsp" name="ApplicationFrame" scrolling="yes" noresize>

在这个框架内我有一个元素:

<span class=\"SpanApplicationLink\" title=\"XML\" tabindex=\"10\" onmouseout=\"javascript: changeColorFont(this,2);\" onmouseover=\"javascript: changeColorFont(this,1);\" onclick=\"javascript:goLink('C','gesxml');\" style=\"color: rgb(0, 153, 204); \">XML</span>

我想点击。
单击时,元素应使用新内容更新框架,但在我的应用程序中,不执行相关的javascript函数,框架继续包含相同的主体。
我尝试用3种方式调用函数:

  • page.within_frame("ApplicationFrame") do page.find(:xpath,"//span[text()='XML']").click end
    返回{“x”=&gt; 274,“y”=&gt; 289}但没有“status”=&gt;“成功”
  • page.within_frame("ApplicationFrame") do page.execute_script("javascript:goLink('C','gesxml');") end
    引发Capybara :: Poltergeist :: JavascriptError:Capybara :: Poltergeist :: JavascriptError
  • page.within_frame("ApplicationFrame") do page.execute_script("parent.ApplicationFrame.document.body.querySelector('span[title=\"XML\"]').click();") end
    引发Capybara :: Poltergeist :: JavascriptError:Capybara :: Poltergeist :: JavascriptError

如何触发此事件?我坚持这个问题,找不到问题所在:/

我的系统配置是:

  • Ubuntu 14.04
  • ruby​​ 1.9.3p484
  • Rails 3.2.6
  • phantomjs 1.9.8
  • capybara(2.4.4)
  • poltergeist(1.5.1)

0 个答案:

没有答案