【发布时间】:2012-05-19 22:13:34
【问题描述】:
在一个系统上测试 CasperJS,该系统有一个带有附加到 javascript 的 href 的锚点。照常做
casper.then(function() {
this.evaluate(function() {
// document.querySelector('a[id="CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH"]').click(); // works in FF
// window.onload=submitAction_win0(document.win0,'CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH');
//eval("submitAction_win0(document.win0,'CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH_1');");
//submitAction_win0(document.win0,'CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH');
// window.onload=submitAction_win0(document.win0,'CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH');
// this.click('a[id="CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH"]');
// click('a[id="CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH"]');
// self.click('a[id="CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH"]');
// this.this.click('a[id="CLASS_SRCH_WRK2_SSR_PB_CLASS_SRCH"]');
..
});
});
上述方法均无效。项目的 Git 存储库表明 Casper 有一个 CasperUtils/ClientUtils 库,该库似乎有一个 __utils__,它有一个 click 方法,这是调用 href="javascript:foo()" 元素的方法。
但是,我似乎无法弄清楚如何运行它。
如果有人使用过 CasperJS,并且有关于如何实现的代码示例,我们将不胜感激!
理想情况下,最终结果应该是这样的:
casper.then(function() {
e=document.querySelector("id['foo']");
CasperUtilsSomething.click(e);
});
或者,如果你有一个指向我可以运行的测试代码用例的指针,那会让我们看看应该如何实现它。
【问题讨论】:
-
在使用此类库之前,您最好阅读一些教程。
-
安德烈亚斯。你好。谢谢回复。我试图阅读我能找到的关于如何实现这一点的所有内容。您是否对指导如何实现这一点的教程有任何了解。我找不到任何内容,包括来自 youtube、GIT 存储库、支持论坛、邮件列表档案等。还有其他你能想到的地方吗?我只是把这里作为最后一个问题。
-
"tom" (a.k.a bruce),帮自己一个忙,完成本教程 ejohn.org/apps/learn — 这样您可能会更了解这里发生的事情
-
您好 Niko 感谢您的指点。我不确定这是一个“理解javascript:问题。不要误会我的意思,更多的javascript理解显然会有所帮助,但我倾向于认为这是对casper / phantom问题的理解。我们得到了同样的事情在 Selenium/Java 中运行/运行几个小时,而无需“学习”java!这里似乎还缺少其他东西。但是谢谢,我们将查看教程.
标签: javascript phantomjs href casperjs