Javascript Powershell使用模态对话框自动化网站测试
使用快速Powershell脚本,使用IE对象输入值并提交带有模式对话框的网页。我希望能够调用模式对话框,选中对话框上的一些框,然后关闭它并返回页面。我可以调用模态对话框,但在关闭对话框之前,在调用对话框的行之后不会执行任何操作 动力壳Javascript Powershell使用模态对话框自动化网站测试,javascript,internet-explorer,powershell,showmodaldialog,Javascript,Internet Explorer,Powershell,Showmodaldialog,使用快速Powershell脚本,使用IE对象输入值并提交带有模式对话框的网页。我希望能够调用模式对话框,选中对话框上的一些框,然后关闭它并返回页面。我可以调用模态对话框,但在关闭对话框之前,在调用对话框的行之后不会执行任何操作 动力壳 $ie = new-object -com "InternetExplorer.Application" $ie.visible = $true $ie.navigate($url); do {sleep 1} until (-not ($ie.Busy))
$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()