0
페이지에 표시된 쿼리 결과의 수를 제어하는 양식 요소를 하이재킹하여 어려운 쿼리 결과 페이지 매김을 피하려고합니다. 라이브 사이트에서 Firebug 콘솔의 자바 스크립트 수정을 테스트했을 때 챔피언처럼 작동하지만 casper.evaluate 메소드를 통해 동일한 자바 스크립트가 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에서 예상대로 작동합니다.
Chrome과 같은 WebKit 브라우저에서 사용해보세요. PhantomJS는 WebKit afterall을 기반으로합니다. WebKit 브라우저에서 작동하는 경우 사용중인 페이지를 제공해야 할 수도 있으므로 다른 사용자도 사용 가능할 수 있습니다. –
PhantomJS http://code.google.com/p/arora/와 동일한 버전의 Webkit 및 js 엔진을 사용하는 Arora를 사용해보십시오. – NiKo