我正在使用以下自制脚本从内部数据库中提取数据,其 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)
关于internet-explorer - 使用 powershell 加载新的 IE 窗口并在后台执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9475213/