Ieでページが開いているかを確認する方法

非アクティブのタブを含め、IEで対象のページが開いているか確認する方法が知りたいです。ページが開いているかの判断はURLまたはタブのタイトルでしたいと考えています。画像系アクティビティでの判断は自社のシステム的にできません。

System.Diagnostics.Process.GetProcessesByName(“iexplore”)でプロセス型リストを取得し、コレクションの繰り返しで情報を取得しようかと考えたのですが、item.MainWindowTitleではアクティブタブのタイトルしか取得できません。

何か良い方法があれば教えていただきたいです。
よろしくお願いします。

こんにちは

完全には取得できないと思いますが、例えばPowerShell使うのはいかがでしょうか?

InvokePowerShellアクティビティで
IsScript:true
CommandTextは以下

"$shell = New-Object -ComObject Shell.Application
$ie_list = @($shell.Windows() | where { $_.Name -match 'Internet Explorer' })
foreach($ie in $ie_list){
    if($ie.document.title -eq $null)
    {
         Write-Output 'null'
    }
    else
    {
        Write-Output $ie.document.title
    } 
}"

TypeArgument:String
Output:Collection<String> CTRL+Kで生成してください。

1 Like

ご回答ありがとうございます。上記のコマンドですと開いてるタブの数の分だけNullが返ってきてしまったので、少し変えたら取得できるようになりました!

"$a = New-Object -com Shell.Application; $b = $a.windows() | Select-Object LocationName;

foreach($ie In $b){

If($ie.LocationName -eq $null){

     Write-Output 'null'

} Else {

    Write-Output $ie.LocationName

} 
};"

powerShellの使用は全く考えていなかったので本当に助かりました。ありがとうございました :blush:

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.