Используйте PowerShell для загрузки новых окон IE и делать вещи в фоновом режиме - PullRequest
2 голосов
/ 28 февраля 2012

Я использую следующий самодельный скрипт для извлечения данных из собственной базы данных с веб-интерфейсом, ограниченным только 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.Интересно, есть ли какой-нибудь простой способ исправить это.Спасибо.

1 Ответ

2 голосов
/ 28 февраля 2012

Попробуйте установить:

$ie.visible=$false

С другой стороны, я бы посоветовал вам вообще не использовать IE и написать несколько вызовов HttpWebRequest, это повысит надежность и не потребует запуска IE (который потребляет память и процессор)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...