单击遥控器上的按钮 Div |卡斯珀JS

Click button on remote Div | CasperJS

我正在尝试使用 CasperJS 自动执行一个过程,这需要在远程 Div 中单击一个按钮。我的主页将只提到遥控器 div,并且按钮位于遥控器 div 内。

主页:

<div id= "main_container"></div>

远程div:

<div id="main_container">
    <div id="agenda_items">
        <button type="button">Click Me!</button>
    </div>
</div>

我正在尝试单击从主页运行的 casperjs 脚本中的“单击我”按钮。当页面使用 this.switchToChildFrame/this.withFrame 使用 iframe 时,我能够做到这一点。 Divs 也有类似的方法吗?如果 CasperJS 不可能,还有其他可能性吗?请指教。谢谢

如果我没有正确理解你的问题,那么你有两个选择:

  1. 在求值方法中使用 jQuery 来点击您所指的按钮。

    也许是这样的:

    casper.evaluate(function() {
        $('button:contains("Click Me")').click();
    }
    
  2. 使用 Casper 内置的 clickLabel 方法

    casper.then(function() {
        this.clickLabel('Click Me!', button);
    });
    

您不需要 "switch" 到 div。只需确定与您尝试单击的按钮相匹配的适当 CSS 选择器或 XPath 表达式即可。然后你可以使用 casper.click