如何让Javascript在IEAutomation中单击按钮时执行

How to get Javascript to execute when clicking a button in IEAutomation?

本文关键字:单击 按钮 执行 IEAutomation Javascript      更新时间:2023-09-26

我在perl中使用Win32::IEAutomation来填写表单并进行搜索,但是当我使用getButton()->Click时,我得到错误"Can't call method "Click" on an undefined value"。 我可以单击图像(执行javascript(,但不能单击按钮。 我在Win32::IEAutomation的文档中注意到,它在" getImage"和" getLink "下都说以下内容,但没有在" getButton "下:

"由于它使用DOM的点击方法,它支持点击带有javascript的链接。

谁能告诉我如何单击按钮并触发javascript?

这是我的代码的骨架。 最后一行是给我带来麻烦的那一行。

use Win32::IEAutomation;
my $ie = Win32::IEAutomation->new( visible => 1);
$ie->gotoURL('https://www.mywebpage.com/index.html',1);
$ie->getTextBox('id:', "mytextbox")->SetValue("relevant text");
$ie->getButton('id:', "mybutton")->Click;

这是HTML的相关部分:

<input type="text" id="mytextbox" />
<button id="mybutton" title="Go" class="ControlButton" value="Go" onclick="researchLookupObj.GoClick(CallServer);return false;">Search</button>

我能够让文本框填写(并且能够单击代码中较早未在此处显示的图像(,但按钮出现错误。 我怎样才能告诉它执行名为" researchLookupObj.GoClick() "的javascript?

我建议你使用WWW::Scripter来完成这个任务。它可能更适合你。