本文介绍了PowerShell中执行Javascript脚本的方法,一个DropdownList控件,用户选择了某项后,页面会回传,然后在下面再动态的显示另外一个控件,需要执行js脚本。
Powershell中执行javascript的方法
一个Web应用程序,使用的是ASP.NET Forms技术。
其中用到了一个DropdownList控件,用户选择了某项后,页面会回传,然后在下面再动态的显示另外一个控件,逻辑很简单。
部分html源码:
复制代码 代码示例:
<select name="eventTypeDropDown" id="eventTypeDropDown" onchange="javascript:setTimeout('__doPostBack('eventTypeDropDown','')', 0)">
<option value="Exception" selected="selected" >Exception</option>
<option value="Memory">Memory</option>
<option value="Perf">Perf</option>
</select>
这个控件有id。
Powershell脚本:
复制代码 代码示例:
$ie = new-object -com "InternetExplorer.Application"
$eventType = $ie.Document.getElementById('eventTypeDropDown')
$eventType.selectedIndex=1
脚本运行后,页面上的下来列表选中了Memory,但是因为页面没有回传,下面的动态控件没有显示出来。(脚本学堂 www.jb200.com 编辑整理)
解决方法:
打开F12开发调试工具,把onchange事件的javascript代码复制进控制台,运行了下,页面开始刷新,下面的动态控件加载出来了。
在IE ComObject中执行Javascript可以解决这一问题。
执行js脚本的方法:
复制代码 代码示例:
$ie.Document.parentWindow.execScript(javascript:setTimeout('__doPostBack('eventTypeDropDown','')', 0)",'')