【问题标题】:Playwright fails to fill input剧作家无法填写输入
【发布时间】:2021-05-16 14:47:46
【问题描述】:

我在具有输入元素的 Jenkins 页面上运行 Playwright 脚本。当我尝试 fill 输入文本之一时,它失败并出现以下错误:

(node:3337) UnhandledPromiseRejectionWarning: page.fill: Protocol error (Page.insertText): error in channel "content::page": exception while running method "insertText" in namespace "page": Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsITextInputProcessor.commitCompositionWith] _insertText@chrome://juggler/content/content/PageAgent.js:891:32

我尝试在启用DEBUG=pw:api environment 的情况下运行,但那里的日志并没有太大帮助。从正常的控制台日志中,我得到以下日志:

waiting for selector "input[name="_.buildNumber"]"
  selector resolved to visible <input value="" type="text" name="_.buildNumber" class=…/>
elementHandle.fill("54")
  waiting for element to be visible, enabled and editable
  element is visible, enabled and editable

所以看起来该元素存在并且可以编辑,但由于某种原因,Playwright 未能成功尝试填充它。我在这里错过了什么?

【问题讨论】:

标签: node.js browser-automation playwright


【解决方案1】:

这是一个特定于 Firefox 的 Playwright bug。要暂时绕过它,您应该能够在导入语句中切换为使用 Chrome 或 Safari。所以要么:

import { chromium } from 'playwright';

或使用 Safari:

import { webkit } from 'playwright';

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2022-06-30
    • 2021-07-05
    • 2023-02-14
    • 2020-10-08
    • 2022-07-12
    • 2021-10-20
    • 2021-02-19
    • 2021-08-02
    相关资源
    最近更新 更多