1

Internet Explorer ウィンドウを手動で起動すると、それぞれが異なる PID を取得します。

ただし、1 つのブラウザー ウィンドウを手動で開いて PID 12345 を取得し、いくつかのブラウザー ウィンドウを開く WaitiN を実行すると、すべての WaiiN ウィンドウの PID が 12345 になります。

クリーンアップ コードで WatiN によって開かれたブラウザー ウィンドウを閉じ、WatiN によってのみ開かれたブラウザー ウィンドウの PID を確実に閉じることができるように、PID が必要です。

編集:
私が使用しているコードは次のとおりです:

//Where I am using WatiN 1
IE ReportWindow = IE.AttachToNoWait<IE>(Find.ByTitle("New Activity Recap"), 120);
ReportWindowPID = ReportWindow.ProcessID;

//Where I am using WatiN 2
IE ReportWindow = IE.AttachToNoWait<IE>(Find.ByTitle("New Activity Recap"), 120);
ReportWindowPID = ReportWindow.ProcessID;

//Cleanup code
            foreach (Process p in System.Diagnostics.Process.GetProcessesByName("iexplore"))
            {
                if (p.Id == ApplicationWindowPID || p.Id == ReportWindowPID)
                {
                    try
                    {
                        p.Kill();
                        p.WaitForExit();
                    }
                    catch
                    {
                    }
                }
            }

上記のコードは、WatiN によって開かれた 2 つのウィンドウと他のウィンドウを閉じています。

PS: 2 つの WatiN ウィンドウでベース URL が同じになるため、URL によってブラウザー ウィンドウを強制終了するコードも実行できます。

4

0 に答える 0