首页 > web前端 > js教程 > 正文

如何使用 Puppeteer 根据文本内容单击元素?

Barbara Streisand
发布: 2024-10-29 07:30:30
原创
369 人浏览过

How to Click an Element Based on Text Content Using Puppeteer?

使用 Puppeteer 单击带有文本的元素

挑战:仅根据文本定位并单击元素

考虑以下 HTML 片段:

<code class="html"><div class="elements">
    <button>Button text</button>
    <a href="#">Href text</a>
    <div>Div text</div>
</div></code>
登录后复制

目标: 在包含“按钮文本”的按钮元素上实现单击操作。

解决方案:

下面的 XPath 表达式标识包含所需文本的按钮:

"//button[contains(., 'Button text')]"
登录后复制

但是,为了确保与周围的

容器,使用此修改后的表达式:
"//div[@class='elements']/button[contains(., 'Button text')]"
登录后复制

执行点击操作:

const [button] = await page.$x(&quot;//div[@class='elements']/button[contains(., 'Button text')]&quot;);
if (button) {
    await button.click();
}
登录后复制

说明:

使用 .contains(. , 'Text') 而不是 .contains(text(), 'Text') XPath 表达式确保它包含子节点,因此不会排除元素结构中更深层的文本节点。

以上是如何使用 Puppeteer 根据文本内容单击元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板