Puppeteer:通过 HTML 属性查找元素

Jam*_*mes 4 javascript node.js puppeteer

本质上,我试图让 Puppeteer 通过其属性data-form-field-value在此页面上查找元素,该属性必须等于244103310504090

这是按钮的 HTML 代码:

<section class="fl-accordion-tab--content">
<div class="fl-product-size">
</button><button class="fl-product-size--item fl-product-size--item__is- 
selected" type="button" data-form-field-target="SKU" data-form-field-base-css- 
name="fl-product-size--item" data-form-field-value="244103310504090" data-form- 
field-unselect-group="" data-testid="fl-size-244103310504-US-9" data-product- 
size-select-item="244103310504090" data-form-field-selected="true">
<span>9</span>
</button></div>
</section>
Run Code Online (Sandbox Code Playgroud)

我尝试了一些方法,但似乎找不到解决方案,感谢任何帮助!

小智 6

查看Puppeteer 的文档,您需要为您指定的属性构造一个元素选择器。

属性选择器的 MDN 文档解释了如何执行此操作:

const puppeteer = require('puppeteer');

puppeteer.launch().then(async browser => {
  const page = await browser.newPage();
  await page.goto('https://example.com');

  // Select the element using the attribute
  const element = await page.$('[data-form-field-value="244103310504090"]');

  // ...
});
Run Code Online (Sandbox Code Playgroud)