【发布时间】:2019-06-01 03:38:41
【问题描述】:
运行 If 语句时,如果页面元素不存在,页面加载失败并产生正确的错误消息,但当元素存在时,两个条件都会运行,成功代码操作以及失败操作。
试过 await page.waitForSelector 和 await page.$(selector) 都没有工作,
await page.waitForSelector('#example').then(() => {
console.log('SUCCESS');
}).catch(e => {
console.log('FAIL');
});
if (await page.$('.SELECTOR') !== null)
console.log(success(await page.title() + ' SUCCESS LOAD 1 - URL Page Load')); // console log
// on success continue below
else
console.log(error(await page.title() + ' FAIL LOAD 1 - URL Page Load')); // console log
await page.screenshot({path: './screenshots/Fail_Load_1_PageDidNotLoad.jpeg'}); // screenshot
await page.evaluate(() => alert('FAIL LOAD 1 - URL Page Did Not Load')); // pop up alert
await browser.close(); // release memory
return process.exit(1); // exit process
如何正确合并 THEN。
【问题讨论】:
-
代码非常适合 FAIL 错误,但不适合 SUCCESS。当 SUCCESS FAIL 和 SUCCESS 都运行时。