模拟点击DIV

时间:2013-08-11 19:41:53

标签: javascript delphi tchromium

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

我需要以编程方式启动呼叫,但我无法找到触发按钮后面的javascript代码的方法(它是DIV)" CONNECT":

enter image description here

TChromium允许执行javascript代码,我已经设法模拟点击" CALL"使用javascript代码的按钮,使用字符" c"模拟关键事件。显示面板。这是有效的,因为谷歌语音有快捷方式和" c"是启动呼叫的有效快捷方式。还有javascript我可以在输入字段中设置数字。我的主要问题是我不知道如何模拟点击" CONNECT":

enter image description here

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

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

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"导航到"电话用"呼叫,然后到"记住选择"最后到了#34; Connect"我可以按Enter键使其工作。我尝试使用与开头相同的代码来模拟CALL按钮,但这次使用TAB(键代码9而不是67)并且它不起作用,因为焦点不移动。

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

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

欢迎任何建议!

1 个答案:

答案 0 :(得分:-1)

我建议下一个解决方案。

在必须从视图中导入的javascript文件中,输入下一个代码:

$(".goog-button-base-content").click(function(){
  //CODE HERE
});

你在这里做的是,每当我们按下具有该类的div时,你将在“CODE HERE”中启动逻辑

(抱歉我的英语不好)

我希望有用。见到你