在 Watir & 中通过 keydown 和 keyup 事件传递键码火瓦提尔

发布于 2024-11-02 16:21:40 字数 211 浏览 0 评论 0原文

我需要在 Web 客户端中自动与自定义 jQuery 富文本编辑器进行交互。 与我们的开发人员交谈后,我只需要能够触发以下事件; keydown、keyup、mousedown、mouseup 和粘贴。

那么真的需要一种能够通过 fire_event keydown 和 keyup 调用 WATIR 和 FIREWATIR 传递关键代码的方法吗?

有人在这方面取得过成功吗?

I need to automate interaction with a custom jQuery rich text editor in our web client.
Having talked with our developers I would only need to be able to fire the following events;
keydown, keyup, mousedown, mouseup and paste.

So really need a way of being able to pass a key code with the fire_event keydown and keyup calls for WATIR and FIREWATIR?

Has anyone had any success in doing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海不蓝 2024-11-09 16:21:40

您尝试过 send_keys 方法吗?我知道 watir-webdriver 支持它,并且它似乎正在迅速成为驱动 Firefox 的首选方式

Have you tried the send_keys method? I know watir-webdriver supports it, and it seems that is rapidly becoming the preferred way of driving firefox

柳若烟 2024-11-09 16:21:40

很久以前我也有类似的需求。我相信,你最好的选择是

@browser.document.parentWindow.eval(‘javascript’)

我刚刚在包含 jquery 的某个页面上尝试了以下操作:

$('body').keydown(function(e) {alert(e.keyCode)}); // Assign keydown event to 'body', so it will alert with the key code of any button pressed

var event = jQuery.Event("keydown");
event.keyCode = 50; // Whatever keyCode you need
jQuery("body").trigger(event); // Here you replace 'body' with the element you need

所以,基本上,你制作一个事件并在你需要的任何元素上触发它,

整个图片可能看起来像这样:

@browser.document.parentWindow.eval('var event = jQuery.Event("keydown"); event.keyCode = 50; jQuery("#theElementYouNeed").trigger(event)')

i had a similar need a long time ago. I believe, your best bet is

@browser.document.parentWindow.eval(‘javascript’)

I've just tried the following on some page with included jquery:

$('body').keydown(function(e) {alert(e.keyCode)}); // Assign keydown event to 'body', so it will alert with the key code of any button pressed

var event = jQuery.Event("keydown");
event.keyCode = 50; // Whatever keyCode you need
jQuery("body").trigger(event); // Here you replace 'body' with the element you need

so, basically, you craft an event and trigger it on any element you need

the whole picture might look something like:

@browser.document.parentWindow.eval('var event = jQuery.Event("keydown"); event.keyCode = 50; jQuery("#theElementYouNeed").trigger(event)')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文