2016-02-19 54 views
0

我目前有一个脚本,它选中页面上的每个复选框,然后提交表单。每个复选框都在页面上的多个div下。如何获取ID到CasperJS页面上的每个复选框

我目前不得不坐下来为一个页面上的几百个复选框手动获取每个选择器3个小时。然后我就

this.click('selector'); 

你可以想象创建一个周期性的名单,我的剧本是非常庞大的,漂亮实用。

有没有什么办法可以取得每个可见的<input>的ID与type="checkbox"

我只想获取页面上可见的ID并点击它们中的每一个。

回答

0

如果复选框有id属性,那么它是相当容易casper.getElementsAttribute(selector, attributeName)

var ids = casper.getElementsAttribute('input[type="checkbox"][id]', 'id'); 

的CSS选择器的工作原理如下:

  • input[type="checkbox"]比赛具有的“类型的所有input元素复选框“和
  • [id]进一步限制选择所有具有id属性的元素et(检索没有这些元素的id属性没有意义)。
+0

这很适合查看id :)我得到一个像这样id1,id2,id3,id4等id的列表我如何提取每个和使用它在casper.click comman? –

+0

这是一个正常的数组。您可以遍历该数组并使用每个这些ID来单击这些元素。问题是你是否希望在每次点击之间重新加载页面,或者是否可以逐个点击所有页面并提交表单一次。如果它是前者,那么你显然需要描述页面的行为方式以及你想要达到的目标。 –

+0

可以向我展示一个例子,我想点击所有接下来的 –