Powershell使用模态对话框自动化网站测试

时间:2013-01-29 02:10:16

标签: javascript internet-explorer powershell showmodaldialog

使用快速Powershell脚本使用IE对象输入值并使用模式对话框提交网页。我希望能够调用模式对话框,检查对话框上的一些框,然后关闭它并返回到页面。我可以调用模态对话框,但是在调用对话框之前没有任何内容执行,直到它被关闭。

Powershell的

$ie = new-object -com "InternetExplorer.Application"
$ie.visible = $true

$ie.navigate($url); do {sleep 1} until (-not ($ie.Busy)) 

$doc = $ie.Document
$books = $doc.getElementById(“searchBooks”).click();

的Javascript

var ret = window.showModalDialog('selectBooks.aspx, books, ...);

我需要一种在对话框上下文中调用命令的方法。尝试在后台运行并创建一个运行空间,但没有任何解决方案

& {$books = $doc.getElementById(“searchBooks”).click();}

(粘连)

$rs = [Management.Automation.Runspaces.RunspaceFactory]::CreateRunspace()
$rs.Open()

$rs.SessionStateProxy.SetVariable("doc", $doc)
$p = $rs.CreatePipeline( { $books = $doc.getElementById(“searchBooks”).click(); } )
$p.Input.Close()
$p.InvokeAsync()

(没有阻止,但我没有对话框元素的句柄)

1 个答案:

答案 0 :(得分:0)

这是模态对话框的预期行为。如果您想与对话框进行交互,可能showModelessDialog()就是您想要的。

相关问题