【发布时间】:2020-06-13 13:56:32
【问题描述】:
这是来自黄瓜 puppeteer 项目中的 world.js。
第一个代码块导致错误。但是,如果我像在第二个代码块中那样对选择器进行硬编码,则不会出现错误。 如何将参数传递给箭头函数,这样我就不必对选择器进行硬编码? TIA
硬编码选择器:有效
async getOriginalForecastDate(selectorTitle, selectorDate, wait = 0) {
await this.page.waitForSelector(selectorTitle);
await this.page.waitForSelector(selectorDate);
const originalDateStr = await this.page.evaluate(selectorDate => {
let result = document.querySelector('div[class="rollmodel_cal_date"]');
////let result = document.querySelector(selectorDate);
return result.innerText.trim();
});
const originalDate = utils.constructDate(originalDateStr);
return originalDate;
}
尝试将选择器作为参数传递:不起作用
async getOriginalForecastDate(selectorTitle, selectorDate, wait = 0) {
await this.page.waitForSelector(selectorTitle);
await this.page.waitForSelector(selectorDate);
const originalDateStr = await this.page.evaluate(selectorDate => {
/////let result = document.querySelector('div[class="rollmodel_cal_date"]');
let result = document.querySelector(selectorDate);
return result.innerText.trim();
});
const originalDate = utils.constructDate(originalDateStr);
return originalDate;
}
【问题讨论】:
标签: cucumber puppeteer arrow-functions