首页 > 解决方案 > 自动弹出 Onclick 屏幕

问题描述

使用 IE 我已经自动化了一个站点,但现在一切都结束了,我遇到了一个表单,它会抛出一个对话框“来自网页的消息”Ok 或 Cancel。

对话框图像

Brower 的 HTML 检查:

<div class="formbuttons">

<input name="Deactivate" class="formsubmit deactivate" id="ButtonDeactivate" 
style="width: 160px;" onclick="return confirm('Are you sure you want to 
deactivate the feature?');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(
&quot;ctl00$ContentPlaceBody$ButtonDeactivate&quot;,&quot;&quot;, true, &quot;
&quot;, &quot;&quot;, false, false))" type="submit" value="Deactivate">

</div>

我尝试过的方法:

1.通过从html中删除onclick,但它并没有帮助虽然正则表达式实际上正在删除它

    [String] $body = "onclick=.*feature....."
    $ie.Document.body.innerHTML -replace "$body", ""
    $deactivate=$ie.document.getElementById("ButtonDeactivate")
    $deactivate.Click();

2.通过添加这里提到的一些语句(Automating IE Con​​firm prompt with Powershell

    $ie.document.forms | Select -First 1 | % { $_.submit() } 

我唯一的动机是单击“确定”弹出按钮。

我在这里先向您的帮助表示感谢。

标签: powershellinternet-exploreronclick

解决方案


尝试查询项目的 Outer HTML 属性以获取 HTML 代码。那么您所要做的就是将“确认(*)”替换为“”。之后,您可以将其设置回脚本中,然后单击它。

$Script = $IE.document.getElementsByTagName("script").item(#----------Whatever Number it is)
$Script.outerHTML = $Script.outerHTML | % {if ($_ -like "return confirm*") {"return true;"} else {$_}}
$autotransbtn.Click()

参考:

(1)使用 PowerShell 在 IE 中自动化 JavaScript 确认提示

(2) internet explorer - 使用 Powershell 自动化 IE 确认提示


推荐阅读