Internet explorer 使用powershell加载新的IE窗口并在后台执行操作

Internet explorer 使用powershell加载新的IE窗口并在后台执行操作,internet-explorer,windows-7,powershell,Internet Explorer,Windows 7,Powershell,我使用以下自制脚本从内部数据库中提取数据,该数据库的web界面仅限于IE function script([string]$cluster, [string]$fromdate, [string]$todate) { $ie = new-object -com "InternetExplorer.Application" $ie.navigate("http://testing.home") Start-Sleep -s 5 $ie.visible=$true $doc=$ie.document

我使用以下自制脚本从内部数据库中提取数据,该数据库的web界面仅限于IE

function script([string]$cluster, [string]$fromdate, [string]$todate)
{
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("http://testing.home")
Start-Sleep -s 5
$ie.visible=$true
$doc=$ie.document
$login1 = $doc.getElementByID("TxtUser")
$login2 = $doc.getElementByID("TxtPassword")
$loginbtn = $doc.getElementByID("BtnLogin")
$login1.value= "username"
$login2.value= "password"
$loginbtn.click()
Start-Sleep -s 5
$ie.navigate("http://testing.home/download.aspx")
Start-Sleep -s 5
$dl1 = $doc.getElementById("ddlloc")
$dl2 = $doc.getElementById("txtFromDate")
$dl3 = $doc.getElementById("txtToDate")
$dl1.value=$cluster
$dl2.value=$fromdate
$dl3.value=$todate
$dlbtn = $doc.getElementByID("btnSearch")
$dlbtn.click()

Start-Sleep -s 5
}
这对我来说还可以,但我想知道是否可以修改脚本,使所有事情都在后台完成,而不会中断我在活动窗口中的工作

我正在使用Win7。我想知道是否有简单的方法来修复它。谢谢。

尝试设置:

$ie.visible=$false

另一方面,我建议您不要使用IE并编写几个HttpWebRequest调用,这将提高您的可靠性,并且不需要运行IE(这会消耗内存和cpu)

您是否尝试过后台工作?@Andy nope,但我主要通过复制-粘贴来构建脚本,您能给我一些启发吗?谢谢为$ie.visible=$false标记您-然而,我们都将ie和COM视为解决方案的唯一原因是它是抓取html的最佳工具。你建议的下载选项浪费了我2天的时间来开始工作,因为html一般来说很难抓取,是的,我尝试了一些工具,在一天结束时,这些工具与IE可能浪费的一些虚拟内存进行了时间权衡,这几天真的是免费的。IE仍然通过com运行,可见标志仅切换窗口的可见性。。。虽然我同意使用直接HTTP请求是更可靠、更高效的方法,但现在大多数应用程序都需要执行javascipt等,而这需要完整的浏览器来完成。