Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java와 함께 Selenium WebDriver를 사용하여 탭을 전환합니다.

<시간/>

Selenium을 사용하여 탭을 전환할 수 있습니다. 먼저 새 탭에서 링크를 열어야 합니다. sendKeys와 함께 .chord 메소드 사용됩니다. Keys.chord 메서드를 사용하면 한 번에 둘 이상의 키를 전달할 수 있습니다. 키 또는 문자열 그룹은 메서드에 인수로 전달됩니다.

Keys.CONTROL을 전달합니다. 및 Keys.ENTER Keys.chord 메서드에 대한 인수로. 그런 다음 전체 문자열이 sendKeys에 인수로 전달됩니다. 방법. 마지막으로 driver.findElement로 식별되는 링크에 sendKeys 메서드를 적용해야 합니다. 방법.

구문

String clickl = Keys.chord(Keys.CONTROL,Keys.ENTER);
driver.findElement(By.xpath("//*[text()='Terms of Use']")). sendKeys(clickl);

그런 다음 ArrayList에 열려 있는 모든 창 ID를 유지하고 switchTo를 사용하여 드라이버 포커스를 새 탭으로 이동합니다. 방법. 그런 다음 새 탭의 창 ID를 해당 메서드에 대한 인수로 전달합니다.

마지막으로 새 탭에서 작업을 수행한 후 switchTo를 사용하여 상위 창으로 다시 이동할 수 있습니다. 메서드에 대한 인수로 부모 창의 창 ID를 전달합니다.

두 탭 간에 전환해 보겠습니다. −

Java와 함께 Selenium WebDriver를 사용하여 탭을 전환합니다.

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.ArrayList;
public class SwitchTab{
   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://www.tutorialspoint.com/about/about_careers.htm");
      // wait of 5 seconds
      driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
      // Keys.Chord string
      String clickl = Keys.chord(Keys.CONTROL,Keys.ENTER);
      // open the link in new tab, Keys.Chord string passed to sendKeys
      driver.findElement(
      By.xpath("//*[text()='Terms of Use']")).sendKeys(clickl);
      Thread.sleep(1000);
      // hold all window handles in array list
      ArrayList<String> newTb = new ArrayList<String>(driver.getWindowHandles());
      //switch to new tab
      driver.switchTo().window(newTb.get(1));
      System.out.println("Page title of new tab: " + driver.getTitle());
      //switch to parent window
      driver.switchTo().window(newTb.get(0));
      System.out.println("Page title of parent window: " + driver.getTitle());
      driver.quit();
   }
}

출력

Java와 함께 Selenium WebDriver를 사용하여 탭을 전환합니다.