PowerShell中执行Javascript的方法示例
程序员文章站
2024-02-04 14:18:52
背景与问题
别人写了一个web应用程序,使用的是asp.net forms技术。其中用到了一个dropdownlist控件,用户选择了某项后,页面会回传,然后在下面再动态...
背景与问题
别人写了一个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)",'')
上一篇: PowerShell中使用return语句退出函数例子
下一篇: 【fastxml】时间类型序列化
推荐阅读
-
PowerShell中执行Javascript的方法示例
-
PHP中的多行字符串传递给JavaScript的两种方法_PHP
-
PHP中的多行字符串传递给JavaScript的两种方法
-
JavaScript数据结构之数组的表示方法示例
-
JavaScript中setUTCFullYear()方法的使用简介
-
JS中Iframe之间传值的方法_javascript技巧
-
JavaScript中的setUTCDate()方法使用详解
-
JavaScript中getUTCSeconds()方法的使用详解
-
PHP模板引擎Smarty中变量的使用方法示例 php smarty 余国荔 smarty assign
-
Ruby中执行Linux shell命令的六种方法详解