gpt4 book ai didi

javascript - 使用 Puppeteer 禁用检查元素

转载 作者:可可西里 更新时间:2023-11-01 02:55:36 26 4
gpt4 key购买 nike

我有一个初始状态为 disabled 的按钮 -

<button type = "submit" class="ant-btn ant-btn-primary ant-btn-lg" disabled>

一旦满足条件,disabled 属性将不存在 - 因此 HTML 变为

<button type = "submit" class="ant-btn ant-btn-primary ant-btn-lg">

我想检查按钮是否具有 disabled 属性,但是由于该属性没有任何值,我无法找到这样做的方法。

例如,如果 disabled 属性有这样的内容

<button type = "submit" class="ant-btn ant-btn-primary ant-btn-lg" disabled = "disabled">

然后我可以做这样的事情

let button = await page.$('button');
let valueHandle = await input.getProperty('disabled');
assert.equal(await valueHandle.jsonValue(), 'disabled');

但是由于属性没有值,在这种情况下如何进行?

最佳答案

这是一个全面的解决方案,展示了如何使用以下方法解决您的问题:

page.$() , page.$$() , page.$eval() , page.$$eval() , page.$x() , 和 page.evaluate() .

// Using page.$()
const is_disabled = await page.$('button[disabled]') !== null;

// Using page.$$()
const is_disabled = (await page.$$('button[disabled]')).length !== 0;

// Using page.$eval()
const is_disabled = await page.$eval('button[disabled]', button => button !== null).catch(error => error.toString() !== 'Error: Error: failed to find element matching selector "button[disabled]"');

// Using page.$$eval()
const is_disabled = await page.$$eval('button[disabled]', buttons => buttons.length !== 0);

// Using page.$x()
const is_disabled = (await page.$x('//button[@disabled]')).length !== 0;

// Using page.evaluate()
const is_disabled = await page.evaluate(() => document.querySelector('button[disabled]') !== null);

关于javascript - 使用 Puppeteer 禁用检查元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51524439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com