반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 받은 트랙백

글 보관함


HTML 에 보면 Select 태그가 있습니다.

그 안에 여러 Option 들이 있고 유저들은 DropDown 메뉴에서 그 Option 중 하나를 선택하게 되죠.





여기서 이 Option을 선택하도록 하는 것을 Selenium WebDriver로 구현할 때 아래 두가지 방법을 사용할 수 있습니다.


new Select(WebDriverAction.getElement(By.cssSelector("select[name='state']"))).selectByVisibleText("North Carolina");


이렇게 하면 select 메뉴 중 name인 태그안에 있는 옵션 중에서 blue인 텍스트를 찾아서 선택을 해 줍니다.



이 방법을 아래와 같이 조금 복잡하게 처리할 수도 있습니다.


    WebElement select = driver.findElement(By.cssSelector("select[name='state']"));
    List<WebElement> options = select.findElements(By.tagName("option"));
    for(WebElement option : options){
        if(option.getText().equals("North Carolina")) {
            option.click();
            break;
        }
    }

이 로직은 name이 color 인 select 라는 tag를 찾아서 이것을 select라는 WebElement 변수에 담아 놓습니다.
그리고 이 select 안에서 tagName 이 option인 것들을 List<WebElement> type으로 options라는 변수에 담아 놓습니다.

이 리스트를 for문으로 돌려서 option의 text가 blue 인 것을 찾아서 그 WebElement를 click 합니다.

그러면 원하는 blue가 선택이 됩니다.



반응형

Comment