Appearance
元素选择器
元素选择器用于告诉工作流要操作哪个页面元素。例如,当使用表单块填充特定表单输入时,需要指定目标输入元素。使用 input.form-name 选择器,工作流将填充具有 form-name 类的 <input /> 元素。
在 MakAgent 中,您可以使用 CSS 选择器 或 XPath 表达式 来定位元素。
块选择器选项
在编辑需要元素选择器的组件时(如点击元素和获取文本),您会看到以下选项:
多选
选择与选择器匹配的所有元素。默认情况下,MakAgent 仅选择匹配的第一个元素。
例如,使用选择器 p 的获取文本块将检索所有匹配 <p> 元素的文本内容,而不仅仅是第一个。
标记元素
标记已选择的元素。 这意味着如果该元素之前已被同一个块选择过,则该元素将不会被选择。
例如,当你有这样的工作流程时

以及使用 .text 作为元素选择器的 获取文本块,以及网站 DOM 树。
html
<div>
<p class="text" id="1">Text</p>
<p class="text" id="2">Text</p>
<p class="text" id="3">Text</p>
<p class="text" id="4">Text</p>
</div><div>
<p class="text" id="1">Text</p>
<p class="text" id="2">Text</p>
<p class="text" id="3">Text</p>
<p class="text" id="4">Text</p>
</div>当执行获取文本块时,它会获取与选择器匹配的第一个元素,即<p class="text" id="1">Text</p > 并且由于启用了标记元素选项,因此它将标记元素并看起来像这样 <p class="text" id="1" block--block-id>Text</p>。
html
<div>
<p class="text" id="1" block--block-id>Text</p>
<p class="text" id="2">Text</p>
<p class="text" id="3">Text</p>
<p class="text" id="4">Text</p>
</div><div>
<p class="text" id="1" block--block-id>Text</p>
<p class="text" id="2">Text</p>
<p class="text" id="3">Text</p>
<p class="text" id="4">Text</p>
</div>当第二次执行 获取文本块时,它将重复执行相同的操作,但不会选择 <p class="text" id="1" block--block-id>Text</p> 它将选择 <p class="text" id="2">Text</p> 元素,因为第一个元素已被标记。
等待选择器
等待选择器匹配的元素出现在页面上。如果元素已存在,组件立即执行;如果在设定的超时时间内元素未出现,工作流将抛出错误。
生成选择器
如果您不熟悉选择器语法,可以使用以下方法自动生成:
MakAgent 元素选择器
在 MakAgent 仪表板中,点击侧边栏的 按钮,页面将注入元素选择器工具。点击或按空格键选择元素,系统会自动生成对应的选择器。

选择元素按钮
编辑组件时点击"选择元素"按钮,系统会注入元素选择器工具,选择元素后点击"选择元素"按钮确认。

自定义选择器语法
除了标准的 CSS 选择器 和 XPath 表达式,MakAgent 还支持以下扩展语法:
- iframe 内元素选择:
iframe.result |> button.primary-btn(选择 iframe 内的按钮) - 文本内容选择:
p.description:contains("cat")(选择包含"cat"文本的描述段落) - Shadow DOM 选择:
div.app-container >> h1.title(选择 Shadow DOM 内的标题元素)
MakAgent在线文档