【发布时间】:2022-06-22 18:52:27
【问题描述】:
嗨,当我在无头模式下使用 playwright 开始抓取代码时,我的代码有问题:当我到达 waitfornavitagion 以登录程序时为真,程序停止工作,我不知道为什么启动它时在无头模式下:假;我没有错误地到达我的最终目的地。 这是我的代码:
function ashScraping() {
(async () => {
const browser = await chromium.launch({
headless: false,
slowmo: 300,
timeout: 70000,
acceptDownloads: true,
});
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://www.thePageImUsing.com/login');
await page.locator('input[name="txtUserID"]').click();
await page.locator('input[name="txtUserID"]').fill(`${user}`);
await page.locator('input[name="txtPassword"]').click();
await page.locator('input[name="txtPassword"]').fill(`${cont}`);
await Promise.all([
page.waitForNavigation(/*{ url: 'https://home.thePageImUsing.com' }*/),
page.locator('text=login').click()
]);
const [page1] = await Promise.all([
page.waitForEvent('popup'),
page.locator('something..something').click()
]);
await page1.locator('input[name="txtShpno"]').click();
await page1.locator('input[name="txtShpno"]').fill(`${bodega}`);
await page1.locator('input:has-text("Buscar")').click();
await Promise.all([
page.waitForNavigation(/*{ url: 'home.thePageImUsing.com' }*/),
]);
await page.locator('text=Artículos').click();
await page.locator('text=Artículos').click();
await page.locator('text=Artículos').click();
await page.locator('text=Programa de clientes').click();
await page.locator('#rdoWarehouse_0').check();
await page.locator('#rdoAvailability_2').check();
const [download] = await Promise.all([
page.waitForEvent('download'),
page.on('dialog', dialog => dialog.accept()),
await page.locator('#cmdExport').click(),
]);
const path = download.suggestedFilename();
await download.saveAs(path);
await context.close();
await browser.close();
})();
};
ashScraping();
所以我出于隐私原因修改了代码的某些部分,但上下文是相同的。我欢迎任何可以指出错误的答案。
现在当我以无头模式启动软件时:是的,这是错误:
line 23: waitfornavigation: timeout.
【问题讨论】:
标签: javascript node.js playwright