[Selenium] 버튼 클릭하여 페이지 이동

예원·2022년 9월 27일
1

Selenium 을 이용해 버튼을 클릭하고 페이지를 이동하는 방법에 대해 정리하였다.


click() : 클릭

click() 함수를 이용하면 버튼을 클릭할 수 있다.

<!-- html -->
<a href="/notice?id=700&page=2" class="_next"></a>
// java
WebElement webElement = driver.findElement(By.cssSelector("a._next"));
webElement.click();

executeScript() : javascript event 발생

버튼의 이벤트가 위와 같이 url이 아닌 javascript 로 되어있는 경우에는 executeScript() 를 이용해 클릭 이벤트를 발생시킨다.

<!-- html -->
<a href="javascript:page_link('2')" class="_next">다음</a>
// java
WebElement element = driver.findElement(By.cssSelector("a._next"));
((ChromeDriver) driver).executeScript("arguments[0].click();", element);

driver.switchTo().window() : 새 탭으로 이동

버튼 클릭 시 페이지가 새 탭에서 열리는 경우도 있다.

그 경우에는 새 탭으로 윈도우를 변경해주면 된다.

<!-- html -->
<a href="/notice?id=700&page=2" class="_next" target="_blank"></a>
// java
WebElement webElement = driver.findElement(By.cssSelector("a._next"));
webElement.click();

// newTabHandle 는 이동할 탭을 선택해주면 된다.
// 여기서는 WindowHandles 가 기존탭(0), 새탭(1) 인 상황을 가정하에 진행하였다.
String newTabHandle = driver.getWindowHandles().toArray()[1].toString();
driver.switchTo().window(newTabHandle);

0개의 댓글