源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PowerShell中执行Javascript的方法示例

  • 时间:2021-02-04 00:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PowerShell中执行Javascript的方法示例
[b]背景与问题[/b] 别人写了一个Web应用程序,使用的是ASP.NET Forms技术。其中用到了一个DropdownList控件,用户选择了某项后,页面会回传,然后在下面再动态的显示另外一个控件,逻辑很简单。 这是产生的的部分的html源码:
[u]复制代码[/u] 代码如下:
<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脚本如下:
[u]复制代码[/u] 代码如下:
$ie = new-object -com "InternetExplorer.Application" $eventType = $ie.Document.getElementById('eventTypeDropDown') $eventType.selectedIndex=1
脚本运行后,页面上的下来列表选中了Memory,但是因为页面没有回传,下面的动态控件没有显示出来。 纠结了我一下午。这个时候请不要告诉我,我可以使用其它测试框架,测试工具。在这里,不想引入其它高大上的东西,只想使用IE本身去解决这个问题。 [b]解决方案[/b] 我下意识的打开F12开发调试工具,把onchange事件的javascript代码复制进控制台,运行了下,页面开始刷新,下面的动态控件加载出来了。此时看到了一缕曙光。也就是,如题:在IE ComObject中执行Javascript可以解决这一问题。那怎么执行呢?
[u]复制代码[/u] 代码如下:
$ie.Document.parentWindow.execScript(javascript:setTimeout('__doPostBack(\'eventTypeDropDown\',\'\')', 0)",'')
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部