使用IE,我已经自动化了一个网站,但是在完成所有工作之后,我陷入了抛出对话框“来自网页的消息”“确定”或“取消”的表单。
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(
"ctl00$ContentPlaceBody$ButtonDeactivate","", true, "
", "", 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 confirmation prompt with Powershell)所述的几句话
$ie.document.forms | Select -First 1 | % { $_.submit() }
我唯一的动机是单击“确定”弹出按钮。
非常感谢您的帮助。
答案 0 :(得分:0)
尝试查询项目的“外部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)Automating JavaScript confirmation prompt in IE using PowerShell
(2)internet explorer - Automating IE confirmation prompt with Powershell