【问题标题】:Enter button keypress in Puppeteer在 Puppeteer 中输入按钮按键
【发布时间】:2018-11-12 10:23:45
【问题描述】:

我正在使用Puppeteer 并使用keyboard。 我在搜索框中输入某个目的地时卡住了,然后我找到了。 有两个动作:

  1. await page.keyboard.press('ArrowDown');
  2. await page.keyboard.press('Enter'); 然后我得到了结果: Image when search location using api Google

问题是当代码await page.keyboard.press('Enter'); 运行时,“Enter”按钮似乎无法真正与建议的目的地一起使用。它无法自动找到此目的地

但我尝试手动搜索,按'ArrowDown'然后按'Enter',然后我可以手动找到目的地。

你能帮我找出解决办法并解决吗? 非常感谢。

【问题讨论】:

  • 您能检查一下您的 Puppeteer 使用哪种类型的键盘吗?根据他们的文档,您可以在 this file 中找到所有密钥
  • 'Enter': {'keyCode': 13, 'code': 'Enter', 'key': 'Enter', 'text': '\r'},在文档中我使用'代码'运行page.keyboard.press('Enter');
  • 每个搜索输入字段都有一个按钮/图标,您可以单击以启动搜索。因此,与其要求键盘按Enter,不如直接使用await page.type() 正常输入文本然后单击图标?
  • 但我需要在页面上自动运行这些操作 :( 这就是我使用 puppeteer 的原因

标签: keyboard keypress puppeteer enter


【解决方案1】:

OP 似乎希望 Enter 按键不转到原始搜索字段,而是转到 Google Maps 为响应他的 Puppeteer 机器人输入街道名称或类似名称的前几个字母而生成的邮政地址的 DIV。所以他想确认 Google 地图的搜索建议。

因此解决方案是首先在搜索字段中输入几个字母,重新扫描 DOM 树,找到响应按键出现的 DIV,然后按向下箭头直到选择所需的条目,然后发送按下 Enter 键,而不是将其发送到原始搜索字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多