javascript – CasperJS:你如何点击所有选择的按钮?

我试图使用CasperJS作为网页刮刀,并且有一个页面,带有按钮,当点击时将加载数据.所以,我想先点击所有这些按钮,然后在实际进行查询之前等待所有必要的数据.

问题在于Casper,casper.thenClick(selector)点击第一个元素.但是,如何迭代并根据选择器单击每个元素?

请注意,这些按钮没有ids.他们都有通用类选择器.

防爆.

<h3>
    <span>Text 1</span>
    <span>
        <button class="load-btn">show</button>
    </span>
</h3>
<h3>
    <span>Text 2</span>
    <span>
        <button class="load-btn">show</button>
    </span>
</h3>
<h3>
    <span>Text 3</span>
    <span>
        <button class="load-btn">show</button>
    </span>
</h3>

由于某种原因casper.thenClick(“h3:contains(‘text 1’).load-btn”)不起作用.

解决方法

您可以尝试使用评估代替放入DOM中(我认为页面上有jquery).
casper.thenEvaluate(function() {
  $('button.load-btn').click();
});

请记住,您将需要等待某事出现.

casper.wait(2000,function() {...});

或使用waitFor function之一

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...