0
我試圖通過劫持控制頁面上顯示的查詢結果數的表單元素來規避一些困難的查詢結果分頁。當我已經在Firebug控制檯中針對實時站點測試了我的Javascript修改後,它就像一個冠軍,但是當通過casper.evaluate方法將相同的Javascript注入DOM時,我得到的結果不一致。更改選擇框選項的值,並在CasperJS中選擇它
我的代碼如下:
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」,它才能連接到元素的「對複製的東西正在發生的形式(當select.change發生時提交頁面)。
上面的代碼每次都在Firefox中按預期運行。
在WebKit瀏覽器(例如Chrome)中放一下。 PhantomJS基於WebKit。如果它在WebKit瀏覽器中運行,則可能需要提供您正在使用的頁面,以便其他人也可以使用該頁面。 –
或嘗試使用Arora,它使用與PhantomJS相同版本的Webkit和js引擎http://code.google.com/p/arora/ – NiKo