Select 节点值 - puppeteer

Select node by value - puppeteer

我有一个简单的脚本,我试图在其中测试某些按钮的功能。在我的 html 里面有一个按钮:

<button> MyList </button>

在我的脚本中,我尝试了以下操作:

...
await page.type('button[value="MyList"]');
await page.click('button[value="MyList"]');

这是在黑暗中拍摄的,因为我找不到在 puppeteer 文档中按值 select 元素的方法。显然它找不到它,我得到了 error: 'No node found for selector: button[value="AccountList"]'

这是因为按钮的值不是MyListMyList 是元素的文本内容,它不同于 value 这是一个属性。在 CSS 中,您不能通过文本内容查询元素。由于没有适用于您的用例的原生 CSS 选择器,您必须手动遍历 DOM 并查找匹配的节点。

jQuery 中实现了这样的选择器 - :contains()。我猜你可以为 Node.js.

使用一些类似的库