node.js - 节点 Puppeteer - 如果表单具有 Google 自动完成元素,则无法单步执行
问题描述
我正在为我的应用程序开发 E2E 测试。为了逐步完成整个工作流程并确保它从头到尾工作。
现在给出一个带有自动完成元素的表单:
我可以输入表格,但无法选择选项。并因此通过形式前进。到目前为止我已经尝试过:
例如方法 1 - 单击一个选项
...
await page.type('input[id=ac]', 'san fran', {delay: 100})
await page.mouse.click(65, 600);
...
例如方法 2 - 自动化密钥
...
await page.type('input[id=ac]', 'san fran', {delay: 100})
await page.focus("#ac");
await page.type(String.fromCharCode(40)); //down arrow
await page.type(String.fromCharCode(13)); //enter
...
我只看到一个 Stack Overflow 回答说可能存在安全限制,但我无法通过查看任何官方文档来确认。
如何选择自动完成选项?
完整代码:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('http://localhost:8080/#/');
...
await page.type('input[id=ac]', 'san fran', {delay: 100})
await page.mouse.click(65, 600);
...
})();
解决方案
推荐阅读
- php - 对于动态 PHP 变量名,$$foo 与 ${$foo} 有什么区别?
- java - libgdx 构建不断失败导致 LWJGL
- node.js - Docker 监听端口 3000,但浏览器上没有显示
- javascript - 使用开始时间和结束时间将对象数组拆分为一小时跨度组?
- azure - Cosmos DB 客户端日志记录
- r - R中矩阵运算的不合格数组限制
- html - Bootstrap float-right 不适用于我想在右侧对齐的 div
- arrays - 两个字符数组一一获取带有空格的输入
- python - 如何根据python列表中重复元素的索引创建新的python列表
- javascript - 使用 ASP.NET Core 将 Sweet Alert 重定向到 URL(默认确定按钮)