我正在使用TS + Puppeteer编写新的e2e测试,我需要向下滚动页面才能单击一个按钮。
it('user create request at homepage', async () => {
await page.goto(`${global.HOST}`, { waitUntil: 'networkidle0' });
const postRequestBtn = 'qa-id="dummybtn"';
await window.scrollBy(0, document.body.scrollHeight);
//also tried await window.scrollTo(0,100);
await page.waitForSelector(postRequestBtn);
});
我希望向下滚动页面,但会捕获错误:
ReferenceError: window is not defined
-您能说,我做错了吗?
答案 0 :(得分:0)
使用page.evaluate
函数在页面上下文中执行javascript。
滚动到元素:
await page.$eval('qa-id="dummybtn"', el => el.scrollIntoView());
滚动到底部:
await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));