Selenium의 WebDriver 인터페이스

  • by


Selenium With Java

WebDriver 인터페이스는 브라우저를 제어하는 ​​다양한 방법을 제공합니다.

서브 클래스로서 Manage, Navigate, SwitchTo 클래스를 가지고 WebDriver와 서브 클래스의 사용법을 살펴 보겠습니다.

WebDriver 인터페이스 메서드

  1. get(String url): 주어진 URL 로 이동합니다.

  2. findElement (By locator) : 주어진 요소를 찾습니다.

    WebElement 객체를 반환합니다.

  3. findElements(By locator): 주어진 요소를 모두 찾습니다.

    WebElement 객체의 목록을 반환합니다.

  4. getPageSource(): 페이지의 소스 코드를 리턴합니다.

  5. getCurrentUrl(): 현재 페이지의 URL을 반환합니다.

  6. getTitle(): 현재 페이지의 제목을 반환합니다.

  7. getWindowHandle(): 현재의 윈도우의 일의의 식별자를 취득합니다.

  8. getWindowHandles(): 열려 있는 모든 윈도우의 일의의 식별자를 가져옵니다.

  9. quit(): 브라우저를 닫고 WebDriver 세션을 종료합니다.

  10. manage(): 서브 클래스, 브라우저 윈도우, 쿠키, 대기 시간 등을 관리합니다.

  11. navigate(): 서브 클래스, 브라우저 윈도우내에서 다른 페이지나 URL 로 이동하기 위해서 사용합니다.

  12. switchTo(): ​​서브 클래스, 브라우저로 다른 윈도우나 프레임을 전환하기 위해서 사용합니다.

Manage() 클래스의 메소드

deleteAllCookies(): 모든 쿠키를 삭제합니다.

window().maximize(): 브라우저를 최대화합니다.

window().setSize(Dimension(300,500)): 브라우저의 크기를 변경합니다.

timeouts().implicitlyWait(Duration.ofSeconds(10)): 페이지 대기 시간을 10초로 설정합니다.

Navigate 클래스의 메소드

to(String url) : 원하는 URL로 이동합니다.

back(): 이전 페이지로 이동합니다.

forward(): 다음 페이지로 이동합니다.

refresh(): 페이지를 업데이트합니다.

SwitchTo 클래스의 메서드

frame(“frameName”): 지정된 이름 또는 ID를 가진 프레임으로 전환합니다.

window(“windowName”) : 지정된 이름이나 핸들이 있는 창으로 전환합니다.

샘플 소스를 사용하여 사용법을 확인합니다.

import java.time.Duration;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class WebDriverTest {

	public static void main(String() args) {
		// Chromedriver의 경로를 설정합니다.

System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); // WebDriver를 생성합니다.

WebDriver driver = new ChromeDriver(); //*** Webdriver 인터페이스 // 주어진 URL로 이동합니다.

driver.get("https://www.google.com"); // 현재 페이지의 소스코드를 출력합니다.

System.out.println(driver.getPageSource()); // 현재 페이지의 URL을 출력합니다.

System.out.println(driver.getCurrentUrl()); // 현재 페이지의 제목을 출력합니다.

System.out.println(driver.getTitle()); // 현재 창의 고유 식별자를 가져 옵니다.

System.out.println(driver.getWindowHandle()); //*** Manage 클래스 // 쿠키를 모두 삭제 합니다.

driver.manage().deleteAllCookies(); // 브라우저를 최대화 시키빈다.

driver.manage().window().maximize(); // 부라우저의 크기를 조정합니다.

driver.manage().window().setSize(new Dimension(300, 500)); // 페이지 대기시간을 10초로 설정합니다.

driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10)); //***Navigate 클래스 // 이전 페이지로 이동합니다.

driver.navigate().back(); // 다음 페이지로 이동합니다.

driver.navigate().forward(); // 페이지를 새로고침합니다.

driver.navigate().refresh(); // 원하는 URL로 이동합니다.

driver.navigate().to("https://heosebi.com"); //***Webdriver 인터페이스 // 브라우저를 닫고 WebdDriver 세션을 종료합니다.

driver.quit(); } }