asp.net - 如何选择下拉列表值,然后使用PowerShell和IE 6.0回发

标签 asp.net unit-testing internet-explorer powershell

这将设置值,但不会引起回发:

function SelectValue($ddl, $val) {
    $ddl.options | % {$i = 0}{ if ($_.value -eq $val) { 
            $ddl.selectedIndex = $i; }; $i += 1; }

}

另外,一旦我完成回发工作,是否需要添加延迟,例如:
    while($ie.ReadyState -ne 4) {
        start-sleep -m 100
    } 

HTML看起来像这样:
<select name="ddl" onchange="__doPostBack('ddl','')" language="javascript" id="ddl" class="required" style="width:100%;">
<option value="-- Please Select --">-- Please Select --</option>
<option value="Some Value">Some Value</option>
</select>

编辑:为什么要在Powershell中执行此操作? WatiN可能要简单得多(尽管我从未使用过WatiN)。但是我只是想弄清楚如何使用Powershell来进行快速,临时的,有限的网站自动化。我经常旅行并且使用不同的机器,Powershell是我可以依赖的少数常量之一。

解决方案:事实证明这很容易,而且非常有用,因为现在我可以按字面意思编写要显示的页面的脚本,进行一些选择,然后单击提交按钮,就像靠魔术一样,这很容易。我认为我与Powershell的爱恨关系正在重新回到爱情。无论如何,关键是要使用表单提交而不是onchange事件,该事件在使用javascript调用时不会触发。这是操作方法:
$frm = $ie.document.getElementById("frm");
$frm.submit();

我发现我不必等待回发。为了完整起见,单击按钮就像在javascript中一样:
$btnReport = $ie.document.getElementById("btnReport")
$btnReport.click() 

最佳答案

Why would I want to do this in Powershell? Probably WatiN would be a lot simpler (though I've never used WatiN). But I'm just trying to figure out how to use Powershell to do quick, ad hoc, limited web site automation.



是的,您应该使用WatiN,但是要使用PowerShell?因此,使用PowerShell中的WatiN!

PowerShell是通用的Shell /脚本/自动化工具。为了完成任务,PowerShell利用了专用工具(COM,WMI,.NET等)。

这是一些入门。

http://poshcode.org/1108

关于asp.net - 如何选择下拉列表值,然后使用PowerShell和IE 6.0回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/881032/

相关文章:

c# - 在 Web 应用程序中使用 TransactionScope 安全吗?

c# - 动态(以编程方式)添加复选框和 checkedchanged 事件

c# - asp.net 通用处理程序调用另一个处理程序

asp.net-mvc-4 - 如何为使用 StatusCode 404 抛出 HttpException 的 Action 编写单元测试

jquery - 一个简单的 jQuery 脚本无法在 IE 中运行 - 认为 jQuery 是跨平台的!

c# - 列表框总是返回 0

javascript - 空注入(inject)器错误 : StaticInjectorError(DynamicTestModule) When Testing in Angular 2

php - Laravel Controller 布局测试

c# - 如何在 C# 中使用 .net webbrowser 控件同时使用不同的帐户登录

angularjs - 字段集和禁用所有子输入 - 解决 IE