Casperjs评估点击不工作

时间:2015-12-09 13:02:50

标签: javascript phantomjs casperjs

当我使用

this.click("#menuContainer > div > ul > li.menu_item_219 > a");

有效! 但是当我在 this.evaluate(function(){})中使用此代码时,

document.querySelector("#menuContainer > div > ul > li.menu_item_219 > a").click();

它不起作用。 这是代码:

    phantom.outputEncoding="GBK";

    var casper = require("casper").create({
    verbose: true,
    logLevel: 'info',
    clientScripts:  [
        'G:/Web/jquery-2.1.4.min.js'
    ],
    pageSettings: {
        loadImages: false,
        loadPlugins: false,
        userAgent: "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36"
    }

});
casper.options.waitTimeout = 100000;

casper.start("http://qzone.qq.com/");

casper.then(function(){

    this.page.switchToChildFrame(0);
    this.fill('form#loginform',{
        'u':"myusername",
        'p':"mypassword"
    },false);
    this.echo("filled");
});
casper.then(function(){

    this.click('input[id="login_button"]');
});

casper.waitForSelector('a#tab_menu_care',function(){

    this.click("#menuContainer > div > ul > li.menu_item_219 > a");

    //DO NOT WORKING!
    // this.evaluate(function(){
    //  var a = document.querySelector("#menuContainer > div > ul > li.menu_item_219 > a");
    //  __utils__.echo(a);
    //  a.click();
    // });

});
casper.wait(5000,function(){
    this.capture("after-click.png");
    this.echo(this.getCurrentUrl());
 });
casper.run();

捕获“after-click.png”以查看它是否有效。 我的代码有什么问题吗?我已经在stackoverflow上搜索了整整一天的答案,但没有什么是有害的_(:з∠)_ 希望有人可以帮助我!

0 个答案:

没有答案