Puppeteer 不会点击元素
Puppeteer Won't Click on Element
试图让 Puppeteer 浏览我的登录页面,这会将自动化测试带到我网站的主页。一切正常,直到达到 'waitFor('#idSIButton9');'。 Puppeteer 成功输入了密码和用户名,但似乎无法 select 提交按钮(#idSIButton9)。知道这里可能出了什么问题吗?让我知道你们是否需要更多信息。
谢谢 :)
const puppeteer = require('puppeteer');
const { defineSupportCode } = require('cucumber')
defineSupportCode(({ Before, Given, When, Then }) => {
Before({ timeout: 60 * 1000 }, async function testCase() {
this.browser = await puppeteer.launch({ headless: false });
this.page = await this.browser.newPage();
await this.page.setViewport({width: 1024, height: 768});
await this.page.goto('http://localhost:3000', {waitUntil: 'networkidle2'});
await this.page.screenshot({ path: 'test_artifacts/img/load.png', fullPage: true });
await this.page.waitFor('button');
await this.page.click('button');
await this.page.waitFor('#i0116');
await this.page.type('#i0116', 'username');
await this.page.waitFor('#i0118');
await this.page.type('#i0118', 'password');
await this.page.waitFor('#idSIButton9');
await this.page.click('#idSIButton9');
})
看起来相当明显,但在点击之前等待一个数值:
await this.page.waitFor(2000);
await this.page.click('#idSIButton9');
await this.page.waitForNavigation();
我好像找到了,如上面的回答
page.waitForNavigation('load')
在点击触发导航的情况下效果很好。
试图让 Puppeteer 浏览我的登录页面,这会将自动化测试带到我网站的主页。一切正常,直到达到 'waitFor('#idSIButton9');'。 Puppeteer 成功输入了密码和用户名,但似乎无法 select 提交按钮(#idSIButton9)。知道这里可能出了什么问题吗?让我知道你们是否需要更多信息。 谢谢 :)
const puppeteer = require('puppeteer');
const { defineSupportCode } = require('cucumber')
defineSupportCode(({ Before, Given, When, Then }) => {
Before({ timeout: 60 * 1000 }, async function testCase() {
this.browser = await puppeteer.launch({ headless: false });
this.page = await this.browser.newPage();
await this.page.setViewport({width: 1024, height: 768});
await this.page.goto('http://localhost:3000', {waitUntil: 'networkidle2'});
await this.page.screenshot({ path: 'test_artifacts/img/load.png', fullPage: true });
await this.page.waitFor('button');
await this.page.click('button');
await this.page.waitFor('#i0116');
await this.page.type('#i0116', 'username');
await this.page.waitFor('#i0118');
await this.page.type('#i0118', 'password');
await this.page.waitFor('#idSIButton9');
await this.page.click('#idSIButton9');
})
看起来相当明显,但在点击之前等待一个数值:
await this.page.waitFor(2000);
await this.page.click('#idSIButton9');
await this.page.waitForNavigation();
我好像找到了,如上面的回答
page.waitForNavigation('load')
在点击触发导航的情况下效果很好。