在不同的场景Async / Await

时间:2019-06-07 07:35:15

标签: node.js puppeteer puppeteer-cluster

伙计们,我需要一些帮助

  1. 我有一个数组,其中包含Google,Yahoo 100个对象。
  2. 如果Google使用X
  3. 雅虎(Yahoo do Y)

用Java Selenium讲这很容易,只要用if语句循环,然后启动stop浏览器,给定puppeteer异步运行,我该如何用Java脚本实现?还使用Jest。

我尝试使foreach循环异步以能够等待运行,但是明显的问题是它会立即启动所有浏览器。

想要避免。然后向木偶戏许诺链。

describe('Sample Test', () => {
  let browser
  let page

  beforeAll(async () => {
    browser = await puppeteer.launch()
    page = await browser.newPage()
  })

  afterAll(async () => {
    await browser.close()
  })

  it('should search on google and navigate to domain', async () => {
    jest.setTimeout(500000)
    let numOfTotalVists =  await helpers.getTotalVisits()

    numOfTotalVists.forEach(element => {
      if (element.includes('Google')) {
        browser = puppeteer.launch()
          page =browser.newPage()
          browser.close()
      } 
        console.log('no')
        browser = puppeteer.launch()
          page = browser.newPage()
          browser.close()
    })

1 个答案:

答案 0 :(得分:0)

想出了简单的脑力转换成简单的for循环

for (let i = 0; i < numOfTotalVists.length; i++) {
}