Firefox Driverを使用して2つのURLを開きました。私がドライバを呼び出すたびに、新しいfirefoxウィンドウが開きます。私はこれらの2つのウィンドウを切り替える必要があります。これどうやってするの?Selenium WebDriverを使用して2つのブラウザウィンドウを切り替える
9
A
答えて
19
あなたはウィンドウを切り替えるにはURLまたはいくつかの他の基準を使用することができ、ウィンドウのタイトル
private void handleMultipleWindows(String windowTitle) {
Set<String> windows = driver.getWindowHandles();
for (String window : windows) {
driver.switchTo().window(window);
if (driver.getTitle().contains(windowTitle)) {
return;
}
}
}
Similaryに基づいてウィンドウを切り替えるには、次のコードを使用することができます。
2
私はmainWindowHandleにもスイッチバックする範囲を追加しました。
異なるタイトルのウィンドウをハンドリングしている場合は、以下の機能を試してみてください。
private String mainWindowsHandle; // Stores current window handle
public static boolean swithToWindow(WebDriver driver,String title){
mainWindowsHandle = driver.getWindowHandle();
Set<String> handles = driver.getWindowHandles(); // Gets all the available windows
for(String handle : handles)
{
driver.switchTo().window(handle); // switching back to each window in loop
if(driver.getTitle().equals(title)) // Compare title and if title matches stop loop and return true
return true; // We switched to window, so stop the loop and come out of funcation with positive response
}
driver.switchTo().window(mainWindowsHandle); // Switch back to original window handle
return false; // Return false as failed to find window with given title.
}
ありがとう、それは私のために働いた。 :) –
私も!これを行う非常に良い方法 – sircapsalot