首页  >  问答  >  正文

无法从网站获取输入元素

所以我试图从 Twitter 获取一个输入元素,但当我运行它时,它不断在节点终端中给我一个这样的错误,结果,由此代码创建的浏览器窗口将自行关闭,因为它找不到正确的输入选择器。如何获取正确类型的输入?

错误:找不到选择器的元素:input[name="text"]

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
  })
  const page = await browser.newPage();
  page.setViewport({
    width: 1280,
    height: 800,
    isMobile: false
  })
  await page.goto("https://twitter.com/i/flow/login");
  await page.type('input[name="text"]', 'username', {delay: 25})
})();

我尝试了不同的选择器,包括 class 属性,但仍然出现错误

P粉574695215P粉574695215218 天前581

全部回复(1)我来回复

  • P粉704196697

    P粉7041966972024-04-07 11:23:31

    您需要在输入之前waitForSelector出现在页面上。这就是为什么你会收到错误,它找不到该元素。

      await page.waitForSelector('input[name="text"]');
      await page.type('input[name="text"]', 'username', {delay: 25})
    

    回复
    0
  • 取消回复