模拟点击DIV

Mig*_*res 6 javascript delphi tchromium

我正在使用TChromium组件在Delphi XE4中开发桌面应用程序以显示Google Voice网页.

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

在此输入图像描述

TChromium允许执行javascript代码,我已经设法模拟单击"CALL"按钮,使用一个javascript代码,使用显示面板的字符"c"模拟Key事件.这是有效的,因为Google Voice有快捷方式,"c"是启动通话的有效快捷方式.还有javascript我可以在输入字段中设置数字.我的主要问题是我不知道如何模拟点击"CONNECT":

在此输入图像描述

如您所见,没有ID,没有onClick,也没有触发Connect按钮的快捷方式.

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

document.getElementById(":87.mi").children[0].children[0].children[5].children[1].children[0].children[0].children[0].children[1];
Run Code Online (Sandbox Code Playgroud)

但是无法触发附加.click()的任何内容.我假设这是因为click()将触发未定义的onClick方法.当有人点击这个div时,有什么方法可以知道javascript代码执行了什么?

如果焦点在"拨打电话号码"输入中,我可以按"TAB"导航到"拨打电话",然后按"记住选择",最后到"连接",我可以按Enter键进行它也有效.我尝试使用与开头相同的代码来模拟CALL按钮,但这次使用TAB(键码9而不是67)并且它不起作用,因为焦点不移动.

我试图用delphi以编程方式使用mouse_event,keybd_event,PostKeyExHWND,PostKeyEx32和PostMessage进行编程,没有结果,因为焦点不会偏离"Number to call"

现在唯一可行的选择是使用SetCursorPos移动鼠标和delphi,并模拟点击该按钮计算坐标,但这将是我选择的最后一个选项,因为我更喜欢使用javascript代码来执行此操作.

欢迎任何建议!

小智 -1

我建议下一个解决方案。

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

$(".goog-button-base-content").click(function(){
  //CODE HERE
});
Run Code Online (Sandbox Code Playgroud)

你在这里所做的是,每次我们按下具有该类的 div 时,你都会启动“代码此处”内的逻辑

(对不起,我的英语不好)

我希望有用。再见