这是我给出的代码:

const puppeteer=require('puppeteer');
var username="123";
var password="222";

(async()=>{
    const browser=await puppeteer.launch({headless:false});

    const page=await browser.newPage();
    await page.goto('https://kds-net.obic7.obicnet.ne.jp/ZADMbl/MainFrame.aspx', { waitUntil: 'networkidle0' });
    await   page.type('#txtKyoushuuseiNO',username);
    await   page.type('#txtPassword',password);
    await   page.waitForNavigation();
})();

我在代码中显示的位置出现错误.我判断了位置,位置似乎是正确的.我会错在哪里呢??

错误在此: 错误:找不到 Select 器的元素:#txtKyouShuuseino

推荐答案

您的元素位于IFRAME中,需要 Select 它,然后在中进行查询:

const puppeteer = require("puppeteer"); // ^21.6.0

const url = "<Your URL>";

let browser;
(async () => {
  browser = await puppeteer.launch({headless: "new"});
  const [page] = await browser.pages();
  await page.goto(url, {waitUntil: "domcontentloaded"});
  const f = await page.waitForSelector("#frameMenu");
  const frame = await f.contentFrame();
  await frame.type("#txtKyoushuuseiNO", "123");
  await frame.type("#txtPassword", "222");
  await page.screenshot({path: "test.png"});
})()
  .catch(err => console.error(err))
  .finally(() => browser?.close());

备注:

披露:我是上面链接的博客文章的作者.

Javascript相关问答推荐

在JavaScript中,是否有一种方法可以创建自定义thable,在等待某些代码后自动触发它?

序列查找器功能应用默认值而不是读取响应

如何使用JavaScript用等效的功能性HTML替换标记URL格式?

Vue:ref不会创建react 性属性

未捕获错误:在注销后重定向到/login页面时找不到匹配的路由

Snowflake JavaScript存储过程返回成功,尽管预期失败

当作为表达式调用时,如何解析方法decorator 的签名?

在服务器上放置了Create Reaction App Build之后的空白页面

数字时钟在JavaScript中不动态更新

使用ThreeJ渲染的形状具有抖动/模糊的边缘

NG/Express API路由处理程序停止工作

Reaction组件在本应被设置隐藏时仍显示

Reaction Redux&Quot;在派单错误中检测到状态Mutations

处理TypeScrip Vue组件未初始化的react 对象

Node.js错误: node 不可单击或不是元素

用另一个带有类名的div包装元素

如何在下一个js中更改每个标记APEXCHARTS图表的 colored颜色

如何正确地在ComponentWillUnmount中卸载状态以避免内存泄漏?

连续添加promise 时,如何在所有promise 都已结算时解除加载覆盖

已在EventListener中更新/更改异步的React.js状态对象,但不会导致组件重新呈现