Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

Selenium WebDriver로 HTML 텍스트 입력창에서 Enter 키 입력 시뮬레이션하는 방법

Selenium WebDriver를 사용하면 HTML 텍스트 입력창에서 Enter 키를 누르는 동작을 손쉽게 시뮬레이션할 수 있습니다. 이때 핵심 역할을 하는 것이 sendKeys 메서드입니다. 이 메서드에 Keys.ENTER를 인자로 전달하면 사용자가 Enter 키를 직접 누른 것과 동일한 효과를 얻을 수 있습니다.

또한 Keys.ENTER 대신 Keys.RETURN을 인자로 전달해도 같은 작업을 수행할 수 있습니다. 두 상수 모두 키보드의 Enter(리턴) 키 입력을 나타내며, 실제 동작 결과에는 차이가 없습니다.

Keys 클래스를 코드에서 사용하려면 반드시 org.openqa.selenium.Keys 패키지를 임포트해야 한다는 점에 유의하세요.

아래 예제에서는 입력창에 텍스트를 입력한 후 ENTER/RETURN 키를 누르는 과정을 다룹니다.

Selenium WebDriver로 HTML 텍스트 입력창에서 Enter 키 입력 시뮬레이션하는 방법

예제 1: Keys.ENTER 사용

다음은 Keys.ENTER를 활용한 코드 구현 예시입니다.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;

public class PressEnter {
    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");
        // 요소 식별
        WebElement l = driver.findElement(By.id("gsc-i-id1"));
        l.sendKeys("Selenium");
        // sendKeys 메서드에 Keys.ENTER를 전달하여 Enter 키 입력
        l.sendKeys(Keys.ENTER);
        driver.close();
    }
}

예제 2: Keys.RETURN 사용

다음은 Keys.RETURN을 활용한 코드 구현 예시입니다.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;

public class PressReturn {
    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");
        // 요소 식별
        WebElement l = driver.findElement(By.id("gsc-i-id1"));
        l.sendKeys("Selenium");
        // sendKeys 메서드에 Keys.RETURN을 전달하여 Enter 키 입력
        l.sendKeys(Keys.RETURN);
        driver.close();
    }
}

코드 설명

위 두 예제의 실행 흐름은 다음과 같습니다.

1. 먼저 System.setProperty로 ChromeDriver의 경로를 지정합니다.
2. ChromeDriver 객체를 생성하고, 대상 웹페이지로 이동합니다.
3. findElementBy.id를 사용하여 검색 입력창 요소를 찾습니다.
4. sendKeys("Selenium")으로 입력창에 검색어를 입력합니다.
5. 같은 요소에 대해 sendKeys(Keys.ENTER) 또는 sendKeys(Keys.RETURN)을 호출하여 Enter 키 입력을 시뮬레이션합니다.
6. 마지막으로 driver.close()로 브라우저를 종료합니다.

이처럼 sendKeys 메서드는 텍스트 입력뿐만 아니라 특수 키 입력까지 처리할 수 있어, 폼 제출이나 검색 실행 등의 자동화 시나리오에서 매우 유용하게 활용됩니다.