Java
 Computer >> コンピューター >  >> プログラミング >> Java

Selenium WebDriverとJavaを使用して特定のウィンドウを閉じるにはどうすればよいですか?


SeleniumWebdriverを使用して特定のウィンドウを閉じることができます。 getWindowHandles およびgetWindowHandle メソッドを使用して子ウィンドウを処理できます。 getWindowHandlesメソッドは、開いているすべてのウィンドウハンドルをSetデータ構造に格納するために使用されます。

getWindowHandleメソッドは、フォーカスのあるブラウザウィンドウのウィンドウハンドルを格納するために使用されます。 import java.util.Setを追加する必要があります およびimportjava.util.List コード内のSetデータ構造に対応するステートメント。

デフォルトでは、ドライバオブジェクトは親ウィンドウの要素にのみアクセスできます。親ウィンドウから子ウィンドウにフォーカスを切り替えるには、 switchTo()。windowを使用します。 メソッドを実行し、子ウィンドウのウィンドウハンドルIDを引数としてメソッドに渡します。次に、子ウィンドウから親ウィンドウに移動するには、 switchTo()。windowを使用します。 メソッドを作成し、親ウィンドウのハンドルIDを引数としてメソッドに渡します。

コードの実装。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import java.util.List;
import java.util.Set;
public class CloseSpecificWindow {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      driver.get("https://secure.indeed.com/account/login");
      //implicit wait
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      //window handle of parent window
      String m = driver.getWindowHandle();
      driver.findElement(By.id("login-google-button")).click();
      // store window handles in Set
      Set w = driver.getWindowHandles();
      // iterate window handles
      for (String h: w){
         // switching to each window
         driver.switchTo().window(h);
         String s= driver.getTitle();
         // checking specific window title
         if(s.equalsIgnoreCase("Sign in - Google Accounts")){
            System.out.println("Window title to be closed: "+ driver.getTitle());
            driver.close();
         }
      }
      // switching parent window
      driver.switchTo().window(m);
      driver.quit();
   }
}

出力

Selenium WebDriverとJavaを使用して特定のウィンドウを閉じるにはどうすればよいですか?


  1. Pythonを使用してSeleniumWebdriverで特定のドメインにCookieを設定するにはどうすればよいですか?

    Pythonを使用して、SeleniumWebドライバーの特定のドメインにCookieを設定できます。 Cookieは、ブラウザから送信された情報を保持するために使用されます。 キー値 ペア形式が利用され、サーバーからブラウザに提供されるメッセージのようなものです。 Cookieを追加するには、メソッド add_cookie 使用されている。キーと値はパラメーターとしてメソッドに渡されます。すべてのCookieを取り戻すには、 get_cookies メソッドが使用されます。特定のCookieを取得するには、メソッド get_cookie 使用されます。 Cookieを削除するには、

  2. Pythonでphantomjsとseleniumwebdriverを使用してウィンドウサイズを設定するにはどうすればよいですか?

    PythonでPhantomJSとSeleniumWebドライバーを使用してウィンドウサイズを設定できます。 PhantomJSを操作するには、 webdriver.PhantomJSのドライバーオブジェクトを作成する必要があります クラス。 次に、phantomjs.exeドライバーファイルのパスをパラメーターとしてクラスに渡します。次に、ウィンドウサイズを設定するには、 set_window_sizeを使用します。 メソッドを作成し、ディメンションをパラメータとしてメソッドに渡します。 ブラウザのウィンドウサイズを取得するには、 get_window_sizeを使用できます。 メソッド