Java를 사용하여 Selenium WebDriver에서 중첩된 Iframe 처리
이 질문은 Java에서 Selenium WebDriver를 사용하여 중첩된 iframe을 처리하는 것과 관련이 있습니다. 제공된 HTML 구조에는 두 개의 중첩된 iframe이 포함됩니다. 작업은 외부 iframe을 선택하여 내부 iframe에 액세스하고 해당 본문에 텍스트를 입력하는 것입니다. 그 후, 목표는 내부 iframe을 종료하고 외부 iframe으로 다시 들어간 다음 외부 iframe 내에 있는 "확인" 버튼을 클릭하는 것입니다.
처음에는 지정된 코드가 외부 iframe으로 성공적으로 전환됩니다(" cq-cf-frame")을 작성하고 중첩된 iframe("cq-gen379")의 본문에 텍스트를 씁니다. 그러나 내부 iframe을 종료하고 외부 iframe에서 "확인" 버튼을 찾으려고 하면 해당 요소를 찾을 수 없습니다.
문제 해결
해결 방법 문제가 있는 경우 외부 프레임에 다시 들어가기 전에 모든 중첩 프레임(이 경우 내부 iframe)을 명시적으로 전환해야 합니다. 이는 drivers.switchTo().defaultContent() 메소드를 사용하여 달성됩니다. 이 방법을 사용하면 현재 프레임을 종료하고 기본 문서로 돌아갈 수 있습니다.
수정된 코드는 다음과 같습니다.
<code class="java">// Between step 4 and step 5 // Remove selenium.selectFrame("relative=up"); // Exit the nested iframe driver.switchTo().defaultContent(); // Re-enter the outer iframe driver.switchTo().frame("cq-cf-frame"); // Continue step 6 driver.findElement(By.xpath("//button[text()='OK']")).click();</code>
이 수정을 통해 코드는 이전에 내부 iframe을 종료합니다. 외부 iframe 내의 요소와 상호작용을 시도합니다. "확인" 버튼을 찾아 클릭하면 됩니다.
위 내용은 Java를 사용하여 Selenium WebDriver에서 중첩된 Iframe을 처리하는 방법: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!