【问题标题】:Selenium: simulating typeing on ChromeSelenium:在 Chrome 上模拟打字
【发布时间】:2011-09-23 16:09:17
【问题描述】:

有人知道如何在 Chromium 上模拟打字吗?我想模拟真正的打字,我在 Firefox 上成功使用了 keydown+keypress+keyup 的组合。但是,这种方法不适用于 Chrome。我试过 key{down|press|up}native 但这也无济于事。使用 type 命令不起作用,因为它不是模拟真正的打字,它只是设置输入元素的值。我知道 Chromium 中存在一个错误,无法成功调度关键事件,但我不确定 Selenium 是否适用于 javascript 级别,或者可能适用于窗口级别。这是我无法克服的障碍吗?

谢谢!

【问题讨论】:

  • 您是否也尝试过 typeKeys 和 fireEvent?
  • 我试过 typeKeys,它在 Firefox 上工作,但在 Chromium、Opera 和 IE9 上不行。不知道如何通过按键使用触发事件,因为我也需要传递键码?
  • 它适用于 Opera 9,但我无法在 Opera 11.5 上运行它。 Chrome 和 Safari(基于 Webkit 的浏览器)触发事件,但事件参数为 0,因此没有足够的数据可以使用。 Firefox 就像一个魅力。
  • 我正在使用 jQUery,这会是个问题吗?

标签: selenium chromium typing


【解决方案1】:

我不知道您如何使用 Selenium,但如果您通过 Selenium RC API 使用它,您可以使用普通类型(将字符串复制到字段中)。之后尝试使用类似 fireEvent("yourstringlcoator", "KeyUp") 的东西。在我希望触发 keyUP 事件的情况下,这对我有用(实际上是使用 jQuery 数据表)。

【讨论】:

  • 谢谢,但这并不能解决我的问题。我正在使用 Selenium RC,我需要模拟 keydown+keypress+keyup,因为我的应用程序会捕获击键并对其进行处理,这非常复杂。我需要测试关键事件处理程序。 Chrome、Safari 和 IE9 上的事件参数为空。我想我将不得不使用 hack,我要让处理程序相信他得到了一些东西,而不是什么都没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 2014-03-05
  • 2017-05-13
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
相关资源
最近更新 更多