欢迎来到代码驿站!

当前位置:首页 >

PowerShell中执行Javascript的方法示例

时间:2022-05-23 09:18:16|栏目:|点击:

背景与问题

别人写了一个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,但是因为页面没有回传,下面的动态控件没有显示出来。

纠结了我一下午。这个时候请不要告诉我,我可以使用其它测试框架,测试工具。在这里,不想引入其它高大上的东西,只想使用IE本身去解决这个问题。

解决方案

我下意识的打开F12开发调试工具,把onchange事件的javascript代码复制进控制台,运行了下,页面开始刷新,下面的动态控件加载出来了。此时看到了一缕曙光。也就是,如题:在IE ComObject中执行Javascript可以解决这一问题。那怎么执行呢?

复制代码 代码如下:

$ie.Document.parentWindow.execScript(javascript:setTimeout('__doPostBack(\'eventTypeDropDown\',\'\')', 0)",'')

上一篇:一篇文章弄懂Docker镜像的制作、上传、拉取和部署

栏    目:

下一篇:Docker镜像创建的方法

本文标题:PowerShell中执行Javascript的方法示例

本文地址:http://www.codeinn.net/misctech/202635.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有