2013-10-18 5 views
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에서 예상대로 작동합니다.

+0

Chrome과 같은 WebKit 브라우저에서 사용해보세요. PhantomJS는 WebKit afterall을 기반으로합니다. WebKit 브라우저에서 작동하는 경우 사용중인 페이지를 제공해야 할 수도 있으므로 다른 사용자도 사용 가능할 수 있습니다. –

+0

PhantomJS http://code.google.com/p/arora/와 동일한 버전의 Webkit 및 js 엔진을 사용하는 Arora를 사용해보십시오. – NiKo

답변

0

선택 상자가 Ajax를 실행하는 경우 브라우저에 결과를 얻기에 충분한 시간이 주어지지 않을 수 있습니다. 나는 거기에 물건을 찾기 위해 충분한 시간을주고 기다릴 진술을 몇 가지 넣을 것입니다.

관련 문제