powershell - 自动弹出 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(
"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 Confirm prompt with Powershell)
$ie.document.forms | Select -First 1 | % { $_.submit() }
我唯一的动机是单击“确定”弹出按钮。
我在这里先向您的帮助表示感谢。
解决方案
尝试查询项目的 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()
参考:
推荐阅读
- javascript - 在 Javascript 中使用 fetch() 进行 HTTPS 身份验证
- sql - SQL 根据其他列中的 ID 和按日期分组填充列值
- javascript - 引导弹出窗口的引导轮播问题
- mysql - 如何在没有'id'列的MySql中获取最后插入的记录?
- formik - 是的:如何验证两个相互依赖的日期?
- javascript - 如何在 React 中使用 HOC 传递静态 navigationOptions?
- html - 无法在 Asp.net core web api 中保存 html 代码
- xml - strings.xml:这有什么不正确的?
- python-3.x - 使用线程时如何解决winerror32?
- sql - SQL - 从课程和主题中过滤