Я использую codeceptjs с кукловодом.
Теперь у меня возникла проблема: я либо не знаю, что это можно сделать с помощью кукловода, либо я не уверен, как это сделать с помощью родного кукловода.
Я хочу настроить таргетинг на элемент и получить всю информацию для этого элемента, затем сопоставить строку и вывести некоторые определенные данные. У меня есть код, который работает в собственном автономном кукловоде, но я не уверен, как использовать его в Codeceptjs.
Поскольку у Puppeteer есть вспомогательный файл в codecptjs, я не просто хочу, чтобы const снова требовал 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, поскольку я не создал экземпляр кукловода в моем коде шагов. Однако он находится внутри кукловода helper.js