# 元素点击选择器(Element click selector) 元素点击选择器与[元素选择器](/543191)类似 ,它的主要用途也是元素选择,它可以作为父元素传递给子选择器。唯一的区别是元素点击选择器可以通过点击按钮加载新元素与网页进行交互。例如,使用JavaScript和AJAX进行分页或项目加载的页面。 注意!当选择可点击的元素时,您应该通过将鼠标移动到元素上并按下“S”来选择它们。这种选择将避免按钮触发的事件。 ### 配置选项 * selector - 用于选择子选择器父元素的[CSS选择器](/543194)。 * click selector - 需要点击的按钮的[CSS选择器](/543194)来加载更多的元素。 * click type - 告诉选择器怎样属于没有新元素,停止点击。 * click element uniqueness - 告诉选择器需要被点击按钮的类型。 * multiple - 将提取多个记录(通常应该被勾选),在子选择器中通常不被勾选。 * delay - 元素点击与提取之间和延迟。这通常应该被指定,因为数据不会立即从服务器加载。如果你不想丢失数据,超过2000毫秒可能是一个不错的选择,因为服务器响应速度不够快。 * Discard initial elements - 选择器不会选择第一次点击之前的元素,这对避免重复数据很有用。 #### Click type ##### Click Once Click Once 类型只会点击一次按钮,如果出现可以选择的新按钮,它也会被点击。例如,分页链接可能会显示第1页到第5页,但第6页到第10页会在稍后显示。选择器也会点击这些按钮。 ##### Click More Click More 类型使选择器多次点击给定的按钮,直到没有新元素出现。一个具有特定文本内容的元素被认为是新元素。 #### Click element uniqueness 当使用 Click Once时候只有唯一的按钮将被点击。使用 Click More时,这有助于忽略按钮,避免生成不需要的元素。 Unique Text - 具有相同文本内容的按钮被视为相同 Unique HTML+Text - 具有相同HTML和文本内容的按钮被视为相同 Unique HTML - 去除文本内容,具有相同HTML的按钮被视为相同 Unique CSS Selector - 具有相同CSS选择器的按钮被视为相同 ### 用例 **使用“Click once”类型导航分页** 例如,有一个网站显示项目列表,并且有一些分页按钮可以动态地重新载入这些项目(点击按钮后URL不会改变,哈希标签#后的更改不计算在内)。使用元素单击选择器,您可以选择需要单击的这些项目和按钮。刮削阶段刮刀将点击这些按钮来提取所有元素。您还需要为元素单击选择器添加子选择器 ,以便在每个元素内选择数据。在图1中,您可以看到如何配置元素单击选择器以从描述的站点提取数据。 ![](https://box.kancloud.cn/488f3f956caa05b96e09994eef2f7eb5_491x243.png) 图1:使用点击一次类型时的Sitemap **Click More按钮,在电子商务网站中加载更多商品** 这个例子与上面的例子类似。唯一的区别是在这个网站中,通过多次点击一个按钮来加载项目。在这种情况下,元素点击选择器应该被配置为使用“Click More”点击类型。在图2中,您可以看到如何配置元素单击选择器 以从该站点提取数据。 ![](https://box.kancloud.cn/8978ae7d1acb2741d056f16cf569a8fe_491x243.png) 图2:使用时的Sitemap点击更多类型