首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟点击DIV

模拟点击DIV
EN

Stack Overflow用户
提问于 2013-08-12 03:41:53
回答 1查看 2.9K关注 0票数 6

我正在用Delphi XE4开发一个桌面应用程序,使用TChromium组件来显示谷歌语音网页。

我需要以编程方式启动一个调用,但我找不到一种方法来触发按钮后面的javascript代码(它是一个DIV) "CONNECT":

TChromium允许执行javascript代码,我已经设法使用javascript代码来模拟单击"CALL“按钮,该代码使用显示面板的字符"c”来模拟按键事件。这是因为Google Voice有快捷方式,而"c“是一个有效的开始呼叫的快捷方式。另外,使用javascript,我可以在输入字段中设置数字。我的主要问题是我不知道如何模拟点击“连接”:

正如您所看到的,没有ID,没有onClick,也没有触发连接按钮的快捷方式。

我可以使用以下代码获得对此DIV的引用:

代码语言:javascript
复制
document.getElementById(":87.mi").children[0].children[0].children[5].children[1].children[0].children[0].children[0].children[1];

但是不可能触发任何附加到.click()的东西。我假设是因为click()会触发onClick方法,所以它没有被定义。有没有办法知道当有人点击这个div时javascript代码会执行什么?

如果焦点在“要呼叫的号码”输入中,我可以按"TAB“导航到”要呼叫的电话“,然后导航到”记住选择“,最后导航到”连接“,在那里我可以按Enter键使其工作。我尝试使用与开始时相同的代码来模拟呼叫按钮,但这次使用的是TAB (键代码为9而不是67),它不起作用,因为焦点没有移动。

我试着用Delphi语言编程,也使用了mouse_event,keybd_event,PostKeyExHWND,PostKeyEx32和PostMessage,但是没有结果,因为焦点不会从“号码到呼叫”转移。

到目前为止,唯一有效的选择是使用SetCursorPos用delphi移动鼠标,并模拟单击该按钮计算坐标,但这将是我选择的最后一个选项,因为我更喜欢使用javascript代码来完成这项工作。

欢迎提出任何建议!

EN

回答 1

Stack Overflow用户

发布于 2013-08-13 04:50:22

我建议下一个解决方案。

在必须从视图导入的javascript文件中,放入以下代码:

代码语言:javascript
复制
$(".goog-button-base-content").click(function(){
  //CODE HERE
});

您在这里所做的是,每次我们按下包含该类的div时,您将启动"CODE HERE“中的逻辑。

(为我糟糕的英语道歉)

我希望是有用的。再见

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18175963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档