从代码发送 MouseEvent 到 NSView (WebView)

发布于 2024-09-26 04:38:09 字数 169 浏览 6 评论 0原文

我正在尝试将 mouseevent (MouseClick 或 RightMouseClick)发送到 NSView...在我的例子中是 WebView,其中包含已加载的网站。我想编写一些点击链接等的脚本。如何创建 NSEvent 并将其发送到 WebView 来执行点击?

非常感

谢克斯曼

i am trying to send mouseevent (MouseClick or RightMouseClick) to a NSView... in my case a WebView, that contains a loaded Website. I want to script some clicks on links etc. How is it possible to create a NSEvent and send it to the WebView to perform clicks?

Thanks a lot

ksman

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

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

发布评论

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

评论(1

万劫不复 2024-10-03 04:38:09

这有点晚了;也许你找到了,也许你没有。不过,我最近不得不弄清楚这一点,所以我将在这里记录下来,希望对某人有所帮助。

NSPoint where;
where.x = x;
where.y = y;
NSView* resp = [someView hitTest:where];
NSEventType evtType = NSLeftMouseDown;
NSEvent *mouseEvent = [NSEvent mouseEventWithType:evtType
                                         location:where
                                    modifierFlags:nil
                                        timestamp:GetCurrentEventTime()
                                     windowNumber:0
                                          context:[o->helper context]
                                      eventNumber:nil
                                       clickCount:1 
                                         pressure:nil];
[resp mouseDown:mouseEvent];

This is a bit late; maybe you found it, maybe you didn't. I recently had to figure this out, though, so I'll document it here and hopefully help someone.

NSPoint where;
where.x = x;
where.y = y;
NSView* resp = [someView hitTest:where];
NSEventType evtType = NSLeftMouseDown;
NSEvent *mouseEvent = [NSEvent mouseEventWithType:evtType
                                         location:where
                                    modifierFlags:nil
                                        timestamp:GetCurrentEventTime()
                                     windowNumber:0
                                          context:[o->helper context]
                                      eventNumber:nil
                                       clickCount:1 
                                         pressure:nil];
[resp mouseDown:mouseEvent];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文