我正在尝试使用一些原生的 puppeteer 和 codeceptjs 来使用元素的 ID 查找元素的所有方面
I'm trying to use some native puppeteer with codeceptjs to find all aspects of an element using its ID
我正在将 codeceptjs 与 puppeteer 一起使用。
现在我遇到的问题是我不知道它可以在 puppeteer 中完成,或者我不确定如何使用本地 puppeteer 来做到这一点。
我想定位一个元素并获取该元素的所有信息,然后匹配一个字符串并弹出一些特定数据。我有一些代码可以在本机独立 puppeteer 中使用,但是我不确定如何在 Codeceptjs 中使用它。
因为 Puppeteer 在 codecptjs 中有一个帮助程序文件,所以我不想再次 const require puppeteer 我宁愿直接在帮助程序中查询。
let match ='';
const targetEls = await page.$$('#element');
for(let target of targetEls)
{
const cell_content = await page.evaluate(el => el.innerHTML, target);
let county = (cell_content.match(/string_to_match/g) || []).length;
if(county === 2)
{
match = cell_content.match(/http:\/\/(\w*)\.(\w*)\/(\w*)\/(\d*)/gi).pop(); // searches for url within element info and pop it out.
break;
}
}
我遇到的问题是 await page.evaluate(el.innerHTML, target)
不适用于 codeceptjs,因为我没有在我的步骤代码中实例化 puppeteer。然而,它在傀儡师内部helper.js
不确定,你想要什么。
请描述问题代码放在哪里。
page
没有全局描述,您可以使用 Puppeteer 助手的 page
对象访问它。
看起来您想在 custom helper, where access to puppeteer helper is used to get its browser
value, like described on Puppeteer helpers doc 中创建方法:
const currentPage = this.helpers['Puppeteer'].page;
await currentPage.$$('#element'); // Get the url of the current page
因此您的助手将包含您所描述的方法,您可以从测试中调用它。
我正在将 codeceptjs 与 puppeteer 一起使用。
现在我遇到的问题是我不知道它可以在 puppeteer 中完成,或者我不确定如何使用本地 puppeteer 来做到这一点。
我想定位一个元素并获取该元素的所有信息,然后匹配一个字符串并弹出一些特定数据。我有一些代码可以在本机独立 puppeteer 中使用,但是我不确定如何在 Codeceptjs 中使用它。
因为 Puppeteer 在 codecptjs 中有一个帮助程序文件,所以我不想再次 const require puppeteer 我宁愿直接在帮助程序中查询。
let match ='';
const targetEls = await page.$$('#element');
for(let target of targetEls)
{
const cell_content = await page.evaluate(el => el.innerHTML, target);
let county = (cell_content.match(/string_to_match/g) || []).length;
if(county === 2)
{
match = cell_content.match(/http:\/\/(\w*)\.(\w*)\/(\w*)\/(\d*)/gi).pop(); // searches for url within element info and pop it out.
break;
}
}
我遇到的问题是 await page.evaluate(el.innerHTML, target)
不适用于 codeceptjs,因为我没有在我的步骤代码中实例化 puppeteer。然而,它在傀儡师内部helper.js
不确定,你想要什么。 请描述问题代码放在哪里。
page
没有全局描述,您可以使用 Puppeteer 助手的 page
对象访问它。
看起来您想在 custom helper, where access to puppeteer helper is used to get its browser
value, like described on Puppeteer helpers doc 中创建方法:
const currentPage = this.helpers['Puppeteer'].page;
await currentPage.$$('#element'); // Get the url of the current page
因此您的助手将包含您所描述的方法,您可以从测试中调用它。