【问题标题】:Watir Button Element not enabled after form requirements are filled填写表单要求后未启用 Watir 按钮元素
【发布时间】:2018-03-02 18:56:32
【问题描述】:

我正在尝试在 ruby​​ 中使用 watir 来自动为我填写表格。但是,当表单完成时,按钮元素“继续”未启用。当我在 chrome 中运行测试时它可以工作,但是当我使用 phantomJS 时它不起作用。

例如,在 phantomJS 中,表单认为我没有完成表单,即使我完成了。它显示如下(不起作用)。

enter image description here

当我运行我的脚本但我用 chrome 而不是 phantomJS 打开浏览器时,我得到以下(有效):

enter image description here

有其他人经历过吗? 知道如何解决这个问题吗?

我试过了: - 睡眠时间更长 - 标记到其他文本字段 - 填写中间名字段

似乎没有启用“继续”按钮

【问题讨论】:

  • 你试过做一些老式的调试吗?也许将您的验证功能输出到控制台并将其记录在您的 phantomJS 测试中?这也可能与 Angular 有关,因此您可能需要扩展标签以包含它。
  • 我没试过。如何将验证函数输出到控制台?
  • PhantomJS 几乎已被弃用。 Chromedriver 速度更快,如果您绝对需要无头模式,则无头模式几乎功能齐全。
  • 我将 chrome 驱动程序安装到 heroku 并上传了我的脚本以打开 chrome 而不是 phantomjs 但是它仍然没有启用“继续”按钮
  • chrome 的 js 引擎完全有可能比 phantomJS 更快。如果系统在填充每个字段后进行某种评估,那么当您尝试填充姓氏字段。在尝试填写姓氏之前,您可能需要引入一个非常小的延迟,如安德烈的回答所示,您发送的屏幕截图中显示为空。

标签: html ruby heroku phantomjs watir


【解决方案1】:

在您发布的第一张图片上,姓氏未填写。 假设屏幕截图错误,并且在填写了所有必填项后按钮仍然处于禁用状态,您应该弄清楚是什么触发了按钮的启用并手动触发。

之后你应该可以点击按钮了。

【讨论】:

  • 当所有带 * 的字段都填满时,按钮变为“继续”。我刚刚发布了该屏幕截图作为示例。当我在 PhantomJS 中运行脚本时,它显示每个字段都已填充,但按钮仍然没有改变。我的脚本崩溃说找不到元素按钮“继续”。
猜你喜欢
  • 1970-01-01
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 2020-02-04
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
  • 2015-11-05
相关资源
最近更新 更多