0

我试图通过劫持控制页面上显示的查询结果数量的表单元素来规避一些困难的查询结果分页。当我在 Firebug 控制台中针对实时站点测试我的 Javascript 修改时,它就像冠军一样工作,但是当通过 casper.evaluate 方法将相同的 Javascript 注入 DOM 时,我得到不一致的结果。

我的代码如下:

var s = document.getElementById("requisitionListInterface.dropListSize");
s.options[4].value = 1000;
s.options[4].selected = true;
var e = document.createEvent("HTMLEvents");
e.initEvent("change", false, true );
setTimeout( function(s, e){ s.dispatchEvent(e); }, 2000, s, e );

我必须创建事件处理程序“e”并将其附加到元素“s”,以便复制表单上发生的事情(发生 select.change 时提交页面)。

再次,上述代码每次都在 Firefox 中按预期运行。

4

1 回答 1

0

如果选择框正在触发 Ajax,您可能没有给浏览器足够的时间来获取结果。我会在那里放一些等待语句,以便有足够的时间来查找和执行。

于 2013-10-21T19:29:19.100 回答