我试图通过劫持控制页面上显示的查询结果数量的表单元素来规避一些困难的查询结果分页。当我在 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 中按预期运行。