【发布时间】:2021-05-13 21:33:29
【问题描述】:
这是我给出的代码:
const puppeteer = require('puppeteer');
(async () => {
const baseUrl = 'example.com';
const browser = await puppeteer.launch({ headless: true});
const context = await browser.createIncognitoBrowserContext();
const page = await context.newPage();
function delay(time) {
return new Promise(function (resolve) {
setTimeout(resolve, time)
});
}
await page.goto(baseUrl);
await page.waitForSelector('[name="loginfmt"]');
await page.type('[name="loginfmt"]', 'abc@amazon.com');
await page.click('[type="submit"]');
delay(1000);
await page.authenticate({ username: `abc@amazon.com`, password: `abc@123` });
await page.click((`[data-row-id="111-222-333-444"]`));
await delay(1000);
await page.pdf(
{
path: "Z1.pdf",
printBackground: true,
width: '1300px',
height: '14200px'
}
)
browser.close();
})()
当使用 document.querySelectorAll([data-row-id="111-222-333-444"]); 检查页面时它返回了一个NodeList 数组,其中包含我一直在寻找的详细信息。
但是,当通过 Puppeteer 尝试相同的操作时,它会以错误提示“错误:未找到选择器的节点:[data-row-id="111-222-333-444"]”
尝试使用:
“常量按钮=等待页面。$(([data-row-id="111-222-333-444"]);
button.click();"
很久以来我一直在尝试解决这个问题。如果我能解决这个问题,那将非常有帮助。
【问题讨论】:
-
元素可以在 iframe 中吗?
标签: javascript css node.js automation puppeteer