我正在尝试使用 puppeteer 来测试 Angular 应用程序。但是当我尝试单击链接时它不起作用(不路由到相应的视图)。
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://example.com', {waitUntil: 'networkidle'});
await page.focus('input[name="username"]');
await page.type('username');
await page.focus('input[name="password"]');
await page.type('password');
await page.click('button[type="submit"]');
await page.waitForNavigation({waitUntil: 'networkidle'});
// code below logs https://example.com
// actual url is https://example.com/#home
console.log(page.url())
const link = await page.$('a[href="#/other"]');
await link.click()
// code below logs https://example.com
// actual url is still https://example.com/#home
console.log(page.url())
单击链接后,感觉就像页面刷新并再次转到相同的网址。url
不改变可能是因为FrameNavigated
事件不是从 puppeteer 发送的。那么我如何等待角度路由器完成和所有相应的 ajax 请求结束呢?