嗨,伙计们,我需要一些帮助来解决一个场景
- 我有一个数组,里面装满了 Google、Yahoo 100 个对象。
- 如果谷歌做 X
- 其他雅虎做Y
这很容易说 Java Selenium,只需使用 if 语句循环,然后启动停止浏览器,给定 puppeteer 异步运行我如何使用 Javascript 实现这一点?还使用 Jest。
我尝试使 foreach 循环异步以能够运行 await,但明显的问题是它一次启动所有浏览器。
想避免 .then 为 puppeteer 提供承诺链。
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()
})