使用Puppeteer在Nodejs中具有动态NUMPAD虚拟键盘的网站上输入密码

发布于 2025-02-02 03:31:42 字数 743 浏览 2 评论 0原文

我遇到了一个网站,我只能在弹出的安全控件中输入密码。如何使用Puppeteer解决这个问题?

以下是我的代码:

const puppeteer = require('puppeteer');

const url = 'xxxx';

async function insertPwd() {
  const browser = await puppeteer.launch({
    ignoreHTTPSErrors: true,
    args: ['--ignore-certificate-errors', '--no-sandbox'],
    headless: false,
  });
  let page = await browser.newPage();

  await page.goto(url, { waitUntil: 'load' });

  const selector = '#SIPBox1';
  const input_value = 'abcdefg';

  await page.waitForSelector(selector, { timeout: 5000 });

  const input = await page.$(selector);
  await input.click();

  await page.focus(selector);
  await page.keyboard.type(input_value);
}

insertPwd();

I came across a website which I was only able to enter a password in the security control that popped up. How to solve this problem using Puppeteer?

Below is my code:

const puppeteer = require('puppeteer');

const url = 'xxxx';

async function insertPwd() {
  const browser = await puppeteer.launch({
    ignoreHTTPSErrors: true,
    args: ['--ignore-certificate-errors', '--no-sandbox'],
    headless: false,
  });
  let page = await browser.newPage();

  await page.goto(url, { waitUntil: 'load' });

  const selector = '#SIPBox1';
  const input_value = 'abcdefg';

  await page.waitForSelector(selector, { timeout: 5000 });

  const input = await page.$(selector);
  await input.click();

  await page.focus(selector);
  await page.keyboard.type(input_value);
}

insertPwd();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小清晰的声音 2025-02-09 03:31:42

要在隐藏块中出现的文本框中输入值。您首先需要使用鼠标单击

const [xpathElement] = await page.$x(XPATH);
await xpathElement.click();

await page.mouse.click(X, Y, { button: 'left' })

To enter a value in the text box that appears in the hidden block. You first need to call this block with a mouse click

const [xpathElement] = await page.$x(XPATH);
await xpathElement.click();

or

await page.mouse.click(X, Y, { button: 'left' })
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文