admin管理员组文章数量:1340365
- Puppeteer version: 1.0.0
- Platform / OS version: Windows 10
- Node.js version: 8.9.3
Here is my code:
const puppeteer = require('puppeteer');
const varname = require('varname');
...
const page = await browser.newPage();
await page.goto(url);
let generalInfo = await page.evaluate(() => {
let elements = Array.from(document.querySelectorAll('#order-details > table > tbody > tr'));
let res = {};
elements.map((tr) => {
let split = tr.innerText.trim().split('\t');
res[varname.camelback(split[0])] = split[1]; // Here is: ... Error: Evaluation failed: ReferenceError: varname is not defined
});
return res;
});
...
await browser.close();
Shows error:
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Evaluation failed: ReferenceError: varname is not defined
- Puppeteer version: 1.0.0
- Platform / OS version: Windows 10
- Node.js version: 8.9.3
Here is my code:
const puppeteer = require('puppeteer');
const varname = require('varname');
...
const page = await browser.newPage();
await page.goto(url);
let generalInfo = await page.evaluate(() => {
let elements = Array.from(document.querySelectorAll('#order-details > table > tbody > tr'));
let res = {};
elements.map((tr) => {
let split = tr.innerText.trim().split('\t');
res[varname.camelback(split[0])] = split[1]; // Here is: ... Error: Evaluation failed: ReferenceError: varname is not defined
});
return res;
});
...
await browser.close();
Shows error:
Share Improve this question edited Feb 16, 2018 at 16:30 Alex K asked Feb 15, 2018 at 20:18 Alex KAlex K 3,2411 gold badge25 silver badges32 bronze badges 1UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Evaluation failed: ReferenceError: varname is not defined
- This SO question is relevant: stackoverflow./questions/53676445/… – Motin Commented Aug 10, 2021 at 9:29
1 Answer
Reset to default 14You want to use module varname
in a browser context. To achieve that you should use page.addScriptTag()
to inject varname
to browser like this:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.addScriptTag({ path: './node_modules/varname/build/varname.js' });
const generalInfo = await page.evaluate(() => {
return window.varname.camelback('foo_bar_baz');
});
console.log(generalInfo); // prints fooBarBaz
await browser.close();
})();
本文标签: javascriptHow to pass required module object to puppeteer pageevaluateStack Overflow
版权声明:本文标题:javascript - How to pass required module object to puppeteer page.evaluate - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1743634716a2513702.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论