Использование Частиц В Кукольнике - PullRequest
0 голосов
/ 16 мая 2018

Я работаю над рефакторингом моего кода кукловода, чтобы повторно использовать повторный код в частичном формате. У меня есть несколько элементов, которые будут повторять те же 4 строки рядом с селекторной переменной. Смотрите пример из 4 строк ниже.

Я хочу, чтобы можно было передать этот ACHIEVEMENTS.community_ask_question_id в повторяющуюся функцию. У кого-нибудь есть идеи?

await page.waitForSelector(ACHIEVEMENTS.community_ask_question_id);  
await page.click(ACHIEVEMENTS.community_ask_question_id,{delay: 500}); 
await page.click(COMPLETE_ACHIEVEMENT, {delay: 500}); 
await page.click(CONFIRM_COMPLETE, {delay: 500});

1 Ответ

0 голосов
/ 16 мая 2018

Вы действительно можете создать отдельную функцию, просто убедитесь, что она async.

async function clicker(page, ACHIEVEMENTS) {
  await page.waitForSelector(ACHIEVEMENTS.community_ask_question_id);  
  await page.click(ACHIEVEMENTS.community_ask_question_id,{delay: 500}); 
  await page.click(ACHIEVEMENTS.COMPLETE_ACHIEVEMENT, {delay: 500}); 
  await page.click(ACHIEVEMENTS.CONFIRM_COMPLETE, {delay: 500});
}

(async() => {

  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  /// ...
  for(var i in ACHIEVEMENTS) {
    await clicker(page, ACHIEVEMENTS[i]);
  }
})()
...