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 중국어 웹사이트의 기타 관련 기사를 참조하세요!