PowerShell中执行Javascript的方法示例_PowerShell

背景与问题

别人写了一个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)",'')

时间: 2024-10-23 19:45:09

PowerShell中执行Javascript的方法示例_PowerShell的相关文章

Powershell小技巧之使用Jint引擎在PowerShell中执行Javascript函数_PowerShell

这里演示如何利用PowerShell将一段Javascript函数字符串交给Jint引擎去执行. 执行Javascript函数 .Net版的Javascript解释器 可以从Git上获取Jint的代码,也可以从nuget上下载Jint的程序集. Jint是一个面向.Net的Javascript解释器.Jint不会把Javascript编译成.Net字节码,所以它非常适用于脚本小且运行起来速度快的工程,或者运行在不同平台上的脚本. PowerShell调用 拿到Dll根据-Path参数直接使用Ad

在Flash中执行javascript代码的示例教程

教您如何在flash中运行js脚本,按照示例完成,以http://方式进行访问,点按钮,即可查看效果... 在flash里一个按钮上写了如下代码,然后把flash放在网页里面,以http://方式进行访问,点按钮,即可查看效果: 以下是代码: on(release){ getURL("javascript:alert('111')")  }

PowerShell中使用PrintManagement管理打印机示例_PowerShell

适用于Windows 8.1或者Windows Server 2012 R2 Windows 8.1和Windows Server 2012 R2引入了一个组件:"PrintManagement",它包含了所有用来管理本地和远程机器打印机的命令. 下面的例子演示安装打印机驱动和打印机端口,先安装一个打印机,分享它,并设置一些属性. 复制代码 代码如下: $ComputerName = $env:COMPUTERNAME   $DriverName = 'Samsung SCX-483x

IOS开发:在Swift中使用JavaScript的方法和技巧

  在RedMonk发布的2015年1月编程语言排行榜中,Swift采纳率排名迅速飙升,从刚刚面世时的68位跃至22位,Objective-C仍然稳居TOP10,而JavaScript则凭借着其在iOS平台上原生体验优势成为了年度最火热的编程语言. 开发:在Swift中使用JavaScript的方法和技巧-"> 而早在2013年苹果发布的OS X Mavericks和iOS 7两大系统中便均已加入了JavaScriptCore框架,能够让开发者轻松.快捷.安全地使用JavaScript语言

在HTML中插入JavaScript代码的示例

  这篇文章主要介绍了在HTML中插入JavaScript代码的示例,嵌套在HTML代码中是JavaScript的基本功能,需要的朋友可以参考下 在HTML文档中的任何地方可包括JavaScript代码.但也有以下的最佳方法来包含JavaScript在HTML文件. 在 ... 部分. 在 ... 部分. 在... 和... 部分. 脚本和外部文件,然后包括在... 部分. 在下面的章节中,我们将看到如何可以包含JavaScript方式的不同: 在JavaScript的... 部分: 如果你想在

PowerShell中终止管道的方法

  这篇文章主要介绍了PowerShell中终止管道的方法,本文直接给出代码实例,需要的朋友可以参考下 如果你能够提前知道你想从管道中获取元素的个数,可以使用Select-Object来终止流处理命令的的管道,这会节省很多时间. 下面的例子会从Windows文件夹下搜寻 explorer.exe示例,因为Select-Object语句可以在管道找到结果的那一瞬终止管道.否则,Get-ChildItem会递归的遍历所有子目录然后匹配出你想要的结果. 代码如下: #requires -Version

php中执行系统命令的方法_php技巧

本文实例讲述了php中执行系统命令的方法.分享给大家供大家参考.具体分析如下: 在php中执行系统命令,如LS <?php // exec.php $cmd = "dir"; // Windows // $cmd = "ls"; // Linux, Unix & Mac exec(escapeshellcmd($cmd), $output, $status); if ($status) echo "Exec command failed&qu

PowerShell中判断闰年的方法_PowerShell

使用PowerShell可以很方便的判断一个年限是不是闰年,只要一句话搞定,IsLeapYear函数,真是革命啊! 小编以前在学其它语言的时候,给定一个年限,判断它是闰年或平年,需要写大段大段的代码去实现.C#出来之后,这个问题解决了,DateTime类型下面有一个静态方法:IsLeapYear(int year).使用这个方法可以直接返回True或False.True即表示闰年,False表示平年. 且看演示代码: 复制代码 代码如下: PS C:\Users\zhanghong> [date

PowerShell中计算时间差的方法_PowerShell

PowerShell中有一个New-TimeSpan的cmdlet,使用它可以很方便的计算两个时间之间的差值.差值还可以提取出年.月.日.时.分.秒. 以前,小编想要知道当时时间到十一放假还有多少天时,小编一般会写一个VBScript脚本来简单计算一下.这个VBScript脚本很简单,只有一句话: 复制代码 代码如下: MsgBox DateDiff("d", Now(), "2013-10-1") 新建一个纯文本文件,把这句话放进去.然后再把这个文件的文件名改为x