如果表单字段是这样,我该如何放置数据。
<input type="text" placeholder="Email Address" data-id="emailAddress" autocomplete="email" class="AuthenticationModal__AuthenticationTextInput-li0874-28 kuwMeF WebsiteTextInput-sc-1k4jzwj-3 kZlRsK" value="">
<input type="password" placeholder="Password" data-id="password" autocomplete="current-password" class="AuthenticationModal__AuthenticationTextInput-li0874-28 kuwMeF WebsiteTextInput-sc-1k4jzwj-3 kZlRsK" value="">
尝试使用此方法,但无效。
await page.type('[data-id="emailAddress"]', 'test_account@gmail.com')
await page.type('[data-id="password"]', '12345678')
await page.screenshot({ fullPage: true, path: 'website.png' })
await browser.close();
test_account@gmail.com没有显示在屏幕截图中。
提前谢谢。
注意:我只是一个新手
答案 0 :(得分:0)
告诉我这段代码是否完美运行。
const emailInput = '[placeholder="Email Address"][autocomplete="email"]'
const emailWords = 'test_account@gmail.com'
await page.waitForSelector( emailInput, { timeout: 0 })
await page.focus(emailInput)
await page.keyboard.type(emailWords)
const passwordInput = 'input[placeholder="Password"][autocomplete="current-password"]'
const passwordWords = '12345678'
await page.waitForSelector( passwordInput, { timeout: 0 })
await page.focus(passwordInput)
await page.keyboard.type(passwordWords)
await page.screenshot({ fullPage: true, path: 'website.png' })
await browser.close()
确定导航发生后您不能等待ForNavigation。 在单击表单中的提交之前,可以使用waitForNavigation。 在这里不要使用任何等待,因为这已经是一个承诺。
Promise.all([
page.waitForNavigation({ waitUntil: 'networkidle0', timeout: 1000000 })
page.click('input[type="submit"]')
])
类似的东西。 告诉我这是否有效。 并且不要忘了选择此答案作为正确答案,它非常有效。