【问题标题】:casperjs click not selector but variablecasperjs单击不是选择器而是变量
【发布时间】:2013-11-27 11:09:10
【问题描述】:

是否可以在不传递选择器的情况下单击 casper js 中的页面元素?我的意思是我不能那样做:

casperjs.thenClick('#test');

但我有

var testV = document.querySelector('#test');

我想做这样的事情:

casperjs.thenClick(testV);

暂时还不行

【问题讨论】:

    标签: javascript click casperjs


    【解决方案1】:

    您不正确地使用thenClick。确保 then.click 不包含在 casper.evaluate 块中,并注意 casper 末尾没有 js。它应该被实现为:

    casper.thenClick('a', function() {
        this.echo("I clicked on first link found, the page is now loaded.");
    });
    

    如果您只想在选择器上执行常规click,您可以执行以下操作:

    casper.then(function() {
        // Click on 1st result link
        this.click('h3.r a');
    });
    

    如果您想使用 javascript,请确保您在 casper.evaluate 语句中。您可以使用以下内容:

    casper.then(function() {
        casper.evaluate(function() {
            var testV = document.getElementById("test");
            testV.click();
        });
    });
    

    【讨论】:

    • ok 'casperjs' 只有当我在这里输入时才出错。在我的代码中它是好的 :) 但其余的仍然不起作用。
    • 请将我的答案标记为正确答案,我正在从问题中查看您的代码:Here
    • 我已经测试过了,第一次不起作用。但是我在其他站点上对此进行了测试,并且可以正常工作。它适用于输入提交,但不适用于锚点。所以你的解决方案很好,但并不完美 :) 知道锚点是什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多