2

我在一个 html 文件中有一个禁用的选择元素,我想使用 puppeteer 检查它实际上已被禁用。不幸的是,该page.select方法似乎忽略了对字段元素的锁定。这是一个精简的示例。

<!DOCTYPE html>
<html>
  <body>
    <select id='dropdown' disabled>
      <option value="op1">Option 1</option>
      <option value="op2">Option 2</option>
    </select>
  </body>
</html>

现在,如果我打开这个 index.html,我无法按预期更改选择,但是在使用page.select我可以的方法与 puppeteer 交互时。

const puppeteer = require('puppeteer');
const fs = require('fs');
(async () => {
  const browser = await puppeteer.launch( { headless: false} );
  const page = await browser.newPage();
  const content = fs.readFileSync('./index.html', 'utf8');
  await page.setContent(content);
  await page.select('#dropdown', 'op2');
})();

现在,如果我正确理解了 puppeteer 文档,那么这不应该导致选择选项改变,但绝不会改变。我是否遗漏了什么,或者我需要做其他事情来检查元素是否被锁定。

4

0 回答 0