我正在尝试自动填充网页。填充输入元素并使用按钮导航可以正常工作。以编程方式单击时,仅最后一个“保存”按钮会失败,而使用鼠标单击会成功。保存按钮似乎包含一些Javascript。在文档中看起来像这样:
<a title="Enregistrer / Save"
class="btn--icon icon-save ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
id="_save"
onclick="
$('#overlayLoading').dialog('open');
$('#form_model').attr('action', 'https://<some url>');
$('#form_model').submit();"
abp="1909">
<span
class="ui-button-text"
abp="1910">Enregistrer<br
abp="1911">
<span
lang="en"
abp="1912">Save
</span>
</span>
</a>
我尝试了3种不同的方法:
第一种方法:
搜索ID为IHTMLelement
的{{1}}并执行"_save"
.click()
到元素中嵌入的URL
像这样执行JavaScript
Navigate()
所有3种方法似乎都可以使用,但是Web服务器返回错误页面。相反,当我用鼠标单击var
Script: string;
DocPtr: IHTMLDocument2;
WinPtr: IHTMLWindow2;
Script :=
'$(''#overlayLoading'').dialog(''open'');'+
'$(''#form_model'').attr(''action'', ''https://<some url>'');'
'$(''#form_model'').submit();';
if Supports(WB.Document, IHTMLDocument2, DocPtr) and
Supports(DocPtr.parentWindow, IHTMLWindow2, WinPtr) then
WinPtr.execScript(Script, 'javascript');
中显示的按钮时,Web服务器将返回成功。
物理点击与程序点击有何不同?