How in Playwright get in evaluate data from arguments? page.evaluate: ReferenceError: d is not defined
async function testEv(d) {
const data = await this.page.evaluate(function() {
console.log('d from args is', d)
})
}
How in Playwright get in evaluate data from arguments? page.evaluate: ReferenceError: d is not defined
async function testEv(d) {
const data = await this.page.evaluate(function() {
console.log('d from args is', d)
})
}
Share
Improve this question
asked Feb 3, 2022 at 11:18
rd100rd100
11 silver badge2 bronze badges
1
- Does this answer your question? Playwright pass variable into eval with JavaScript (Node) – ggorlen Commented Jul 18, 2022 at 15:09
1 Answer
Reset to default 4You have to pass to the evaluate
function a function that expects an argument. To avoid the confusion lets call it c
, and then you pass d
as a second argument to the evaluate
.
async function testEv(d) {
const data = await this.page.evaluate((c) {
console.log('d from args is', c)
}, d)
}
If you need to pass more than one argument you can pass an object
async function testEv(d) {
const data = await this.page.evaluate((obj) {
console.log('obj.foo from args is', obj.foo);
console.log('obj.bar from args is', obj.bar);
},
{
foo: d,
bar: d,
})
}