2013-07-31 3 views
1

일부 양식 (입력란, 선택 상자 등)을 채우기 위해 CasperJS를 사용하고 있습니다. jquery를 스크립트에 주입 시켰지만 나머지 부분을 얻는 방법을 모르겠습니다. 일.jQuery와 함께 casperjs를 사용하여 양식을 작성하십시오.

기본적으로 페이지에서 단일 요소를 찾고이 태그를 찾아 값을 변경하려고합니다. 이 변경된 후에는 HTML 이름이 'add_phone'인 제출 단추를 클릭하고 싶습니다. 여기

는 내가 지금까지 무엇을 가지고 - 나는 PhantomJS의 v1.9.1로 CasperJS 1.1.0-DEV의 최신 버전을 사용하고 있습니다

이 반환에게 다음과 같은 오류 실행되는 경우

TypeError: 'undefined' is not a function (evaluating 'this.evaluate(function() { 
    return $('table').find('select').val(); 
}); 

을 코드 :

어떤 기능 중
var casper = require('casper').create({ 
    clientScripts: ['includes/jquery.min.js'], 
    verbose: true, 
    logLevel: 'debug', 
    loadImages: false 
}); 

var url = 'http://www.simplysellular.com/displayphone.php?manufacturers=Apple&phones=iPhone+5+(ATT/GSM)+32GB&affiliates_id=14&affiliates_tracking_id=2072&utm_source=sellcell&utm_medium=web&utm_campaign=sellcell&condition_id=15'; 
casper.start(url); 

var deviceValue = this.evaluate(function() { 
return $('table').find('select').val(); 
}); 

this.echo(deviceValue); 

casper.exit(); 

답변

4

this가 casperjs에서 undefined입니다

시도 casper.then :

casper.start(url); 
casper.then(function() { 
    var deviceValue = this.evaluate(function() { 
    return $('table').find('select').val(); 
    }); 
    this.echo(deviceValue); 
}); 
관련 문제