使用casperjs的评估函数和jQuery单击元素 [英] Clicking an element using casperjs's evaluate function and jQuery

查看:139
本文介绍了使用casperjs的评估函数和jQuery单击元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用jQuery和casperjs单击从DOM中检索到的元素.

I am trying to use jQuery and casperjs to click an element retrieved from the DOM.

casper.options.clientScripts = ["jquery-1.11.1.min.js"];
...
...
casper.then(function()
{   
    this.wait(2000,function()
    {
        this.evaluate(function()
        {

        var element = $('h4:contains("test")').prev().find('.delete');
        $(element).css("background-color", "red");

        $(element)[0].click();
        });
     });
)};

我用过

$(element).css("background-color", "red");

确切地了解jquery正在选择的元素(我已经使用capture()来查看网页上正在发生的事情),并且它已经选择了正确的元素. 我已经在Firefox的firebug开发工具上尝试过我的代码,并且可以正常工作,但是我无法完全使用click功能.

to see exactly what element jquery is selecting, (I have used capture() to see what is happening on the webpage) and it has selected the correct one. I have tried my code on Firefox's firebug dev tool and it works fine, but I cannot get the click function to work at all.

推荐答案

您可以尝试多种方法.

  1. 使用jQuery click

element.click();

  • 使用onlick

    element[0].onclick();
    

  • 使用onlick通话

    element[0].onclick.call(element[0]);
    

  • 使用带有casper.click

    var x = require('casper').selectXPath;
    this.evaluate(function(){
        var $element = $('h4:contains("test")').prev().find('.delete');
        $element.css("background-color", "red");
    });
    this.click(x("//h4[contains(.,'test')/preceeding-sibling::*[1]//*[contains(@class,'delete')]]"));
    

  • 这篇关于使用casperjs的评估函数和jQuery单击元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆