>Java >java지도 시간 >Java에서 Selenium WebDriver를 사용하여 브라우저 탭 간을 효율적으로 전환하는 방법은 무엇입니까?

Java에서 Selenium WebDriver를 사용하여 브라우저 탭 간을 효율적으로 전환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-14 12:49:15243검색

How to Efficiently Switch Between Browser Tabs Using Selenium WebDriver in Java?

Java와 함께 Selenium WebDriver를 사용하여 탭 전환

Selenium WebDriver로 웹 페이지를 자동화할 때 탭 간 전환은 일반적인 요구 사항입니다. 그러나 동일한 창 내의 탭을 처리할 때 두 탭 모두 동일한 창 핸들을 가질 수 있으므로 문제가 발생합니다.

문제:

관련 시나리오를 자동화하는 경우 새 탭 열기, 해당 탭 내에서 작업 수행, 원래 탭(상위)으로 돌아가기 등 스위치 핸들이 작동하지 않을 수 있습니다. 탭은 동일한 창 핸들을 공유할 수 있으므로 탭 간 전환이 효과적이지 않을 수 있습니다.

해결책 1: 창 핸들 추적

창 핸들을 사용할 수 있는 경우 다음을 사용하여 탭을 전환할 수 있습니다. 다음 단계:

ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1)); // Switch to the new tab
driver.close(); // Close the new tab
driver.switchTo().window(tabs.get(0)); // Switch back to the parent tab

해결책 2: Selenium 작업 사용 (실험용)

실험용 Selenium.Actions 클래스는 창 제목으로 탭을 전환하는 데 사용할 수 있는 select_window 메서드를 제공합니다.

WebElement parentTab = driver.findElement(By.xpath("//ul/li/a[@id='tab1_link']"));
WebElement newTab = driver.findElement(By.xpath("//ul/li/a[@id='tab2_link']"));

Actions actions = new Actions(driver);
actions.keyDown(Keys.CONTROL).click(newTab).keyUp(Keys.CONTROL).build().perform();
actions.keyDown(Keys.CONTROL).click(parentTab).keyUp(Keys.CONTROL).build().perform();

드라이버 라이브러리가 Selenium.Actions 클래스에 액세스하려면 최신 상태여야 합니다.

위 내용은 Java에서 Selenium WebDriver를 사용하여 브라우저 탭 간을 효율적으로 전환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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