使用capybara / selenium访问javascript文件中的函数

时间:2012-09-27 00:55:38

标签: javascript ruby selenium capybara

我对整个硒和水豚都有点新意,我希望能得到一些指导。我目前正在尝试访问框架集中包含的JSP文件中的函数,但我没有任何运气来解决这个问题。

基本上我去了一个框架中的jsp文件

<FRAME name="sideFrame" src="AppMenu.jsp" noresize="yes" scrolling="no"

到该文件中包含此函数的函数:

 <a onclick="nav_swap(this.id)" class="nav" id="view_new_page" href="javascript:submitWithAction('ViewNewPage', 'view_new_page');">View New Page /a>

我已经研究过xpath和within_frame,但我认为这不会帮助我解决这个问题。

这就是我现在所拥有的一切:

session.find(:xpath,"//FRAME[@src='AppMenu.jsp']/..").all(:xpath,".//A[@id='view_new_page']/..").click

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您必须先为目标iframe调用select_frame,然后在该上下文中使用选择器。

答案 1 :(得分:0)

HM。到目前为止,我遇到了获取元素的属性。我使用了js。 代码示例提供:

public String jsGetColor(String css){

        JavascriptExecutor js = (JavascriptExecutor) driver;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("var x=$(\'"+css+"\');");
        stringBuilder.append("return x.css('color')");
        String res= (String) js.executeScript(stringBuilder.toString());
        return res;

    }

希望这会给你一些新鲜的想法。