>  기사  >  Java  >  Java를 사용하여 Selenium WebDriver에서 드롭다운 값을 선택하는 방법은 무엇입니까?

Java를 사용하여 Selenium WebDriver에서 드롭다운 값을 선택하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-25 02:05:30771검색

How to Select Dropdown Values in Selenium WebDriver with Java?

Java를 사용하여 Selenium WebDriver에서 드롭다운 값 선택

Selenium WebDriver 초보자의 경우 드롭다운에서 값을 선택하는 것이 일반적인 과제일 수 있습니다. 다음은 이 시나리오를 효과적으로 해결하기 위한 포괄적인 가이드입니다.

HTML 구조:

먼저 드롭다운의 HTML 구조를 고려해 보겠습니다.

<code class="html"><select id="periodId" name="period" style="display: none;">
    <option value="l4w">Last 4 Weeks</option>
    <option value="l52w">Last 52 Weeks</option>
    <option value="daterange">Date Range</option>
    <option value="weekrange">Week Range</option>
    <option selected="" value="monthrange">Month Range</option>
    <option value="yeartodate">Year To Date</option>
</select></code>

요소 식별:

Selenium WebDriver를 사용하여 드롭다운을 식별하려면 By.id() 위치 지정자를 사용할 수 있습니다.

<code class="java">WebElement dropdown = driver.findElement(By.id("periodId"));</code>

선택 만들기 개체:

이제 드롭다운에서 값을 선택하려면 WebElement를 Select 개체로 래핑해야 합니다.

<code class="java">Select dropdownSelection = new Select(dropdown);</code>

옵션 선택:

Select 개체가 있으면 다음 세 가지 방법으로 옵션을 선택할 수 있습니다.

  • selectByVisibleText: 옵션의 보이는 텍스트로 선택:
<code class="java">dropdownSelection.selectByVisibleText("Last 52 Weeks");</code>
  • selectByIndex: 옵션의 인덱스로 선택:
<code class="java">dropdownSelection.selectByIndex(1); // 0-based index, so "Last 52 Weeks" is at index 1</code>
  • selectByValue: 옵션의 값 속성으로 선택하세요:
<code class="java">dropdownSelection.selectByValue("l52w");</code>

가시성 문제 처리:

"요소가 현재 표시되지 않습니다" 오류가 발생하면 드롭다운이 처음에 숨겨져 있기 때문일 수 있습니다. WebDriverWait를 사용하면 요소와 상호 작용하기 전에 요소가 표시될 때까지 기다릴 수 있습니다.

<code class="java">WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("periodId")));</code>

결론:

이러한 기술을 사용하면 드롭다운 값을 쉽게 선택할 수 있습니다. 숨겨진 요소나 동적 요소가 있는 복잡한 시나리오에서도 Java를 사용하는 Selenium WebDriver에서.

위 내용은 Java를 사용하여 Selenium WebDriver에서 드롭다운 값을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.