如何解决使用 Puppeteer 点击后无法输入
我几乎尝试了任何方法,但在单击输入后仍然无法插入用户名。 我知道还有其他解决方案无需点击我也尝试过但仍然无法正常工作...
点击工作正常,光标闪烁现在我需要的只是“输入”一些东西。
const puppeteer = require('puppeteer');
const creds = {
email: "myemail",password: "mypassword",};
(async () => {
const browser = await puppeteer.launch({headless: false,args: ['--start-maximized']});
const page = await browser.newPage();
//set viewport
await page.setViewport({
width: 1920,height: 1080,})
await page.goto('https://qa.traffilog.co.il/new_web/index.htm',{waitUntil: 'networkidle0'});
const username = await page.$x('/html/body/div[1]/div/div[1]/div/div[2]/div/div[1]/div/div[2]/div/div[3]/div/div[1]/div/div/div/div/div/div[2]/div/div[1]/div/input[1]');
await username[0].click();
await page.waitForNavigation({ waitUntil: 'networkidle0' });
await page.type(username,creds.email);
await page.waitForNavigation({ waitUntil: 'networkidle0' });
// await browser.close();
})
();
解决方法
从我在文档中读到的内容 Page.type 需要一个选择器而不是一个 ElementHandle。但是因为您使用的是 ElementHandle,所以您可以尝试使用 username[0].value=creds.email
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。