我在一个 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 文档,那么这不应该导致选择选项改变,但绝不会改变。我是否遗漏了什么,或者我需要做其他事情来检查元素是否被锁定。