2016-05-02 10 views
-1

HWNDプロパティ(または同様のもの)に基づいてIEウィンドウを選択できるかどうかわかりません。私のスクリプトは別のウィンドウで新しいページを開くリンクをクリックするので、この新しいウィンドウで作業することができます。HWNDを使用してIEウィンドウを選択

$ie.Navigate("https://chaseloanmanager.chase.com/Chaselock/ViewOnlineGuide.aspx") # opens page in new window 
while ($ie.Busy -eq $true){Start-Sleep -Seconds 2} 

$childWindow = Get-Process | Where-Object {($_.ProcessName -eq 'iexplore')} | Get-ChildWindow | Where-Object {$_.ChildTitle -match 'Lending'} 
$childWindow.MainWindowHandle # gets HWND of new window 

$shell = New-Object -ComObject Shell.Application 
$ie3 = $shell.Windows() | Where-Object {$_.HWND -match $childWindow.MainWindowHandle} # does not find window 
+0

「仕事をする」とはどういう意味ですか?あなたは新しいウィンドウに集中するか、 'InternetExplorer.Application' comobjectsを使ってそれを制御したいですか? –

+0

新しいウィンドウを制御するために 'InternetExplorer.Application' comobjectを使いたい – Quanda

答えて

0

あなたはShell.ApplicationWindows()を検索することによってIEのcomobjectを取得することができます。

は、ここに私のコードです。

$shell = New-Object -ComObject Shell.Application 

$ie = $shell.Windows() | Where-Object { $_.LocationURL -match 'Lending' } 
#$ie = $shell.Windows() | Where-Object { $_.HWND -eq 2951084 } 

$ie.Navigate("http://www.stackoverflow.com") 
+0

残念ながら、残念ながら私のコードは期待通りに動作しません。私のコードを元の投稿に追加する。 – Quanda

+0

'LocationName'(ウェブサイトのタイトル)または' LocationURL'(あなたが望むもののユニークなURLの部分を知っている場合)を使ってみましたか?次に、hwnd-search ++をすべてスキップすることができます。 Ex。更新された答えを参照してください –

+0

はい私はそれも試みましたが、何も返しません。 – Quanda