> Java > java지도 시간 > 본문

중첩된 Iframe을 올바르게 종료하고 Selenium WebDriver의 요소와 상호 작용하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-30 20:55:30
원래의
1062명이 탐색했습니다.

How to Properly Exit Nested Iframes and Interact with Elements in Selenium WebDriver?

Java에서 Selenium WebDriver를 사용하여 iframe 처리

이 문서에서는 Java를 사용하여 Selenium WebDriver에서 깊게 중첩된 iframe과 상호 작용하는 문제를 다룹니다. 특히 내부 iframe에 액세스하기 위해 외부 iframe을 선택하고 본문에 텍스트를 입력한 다음 두 iframe을 모두 종료하여 외부 iframe에 있는 버튼을 클릭하는 시나리오에 중점을 둡니다.

문제 시도

제공된 코드 조각은 처음에는 의도한 대로 작동하고 내부 iframe 본문에 텍스트를 입력합니다. 그러나 두 iframe을 모두 종료하고 "확인" 버튼을 클릭하려고 하면 Selenium에서 버튼 요소를 찾을 수 없다는 예외가 발생합니다.

해결책

이 문제를 해결하는 열쇠는 Driver.switchTo().defaultContent() 메서드를 사용하는 것입니다. 이 방법을 사용하면 현재 선택한 모든 프레임을 종료하여 효과적으로 기본 HTML 문서로 돌아갈 수 있습니다.

수정된 코드

코드를 수정하려면 이전 종료 시도를 바꾸세요. 다음을 포함하는 내부 iframe:

<code class="java">// Remove the line with selenium.selectFrame("relative=up");
driver.switchTo().defaultContent(); // Exit both frames
driver.switchTo().frame("cq-cf-frame"); // Re-enter the outer iframe</code>
로그인 후 복사

이 줄을 추가하면 Selenium은 먼저 두 iframe을 모두 종료한 다음 외부 iframe으로 다시 들어갑니다. 이렇게 하면 "확인" 버튼과 상호 작용하기 전에 모든 프레임 선택이 올바르게 설정됩니다.

전체 코드

수정된 코드는 다음과 유사해야 합니다.

<code class="java">driver.switchTo().frame("cq-cf-frame"); // Line 1
driver.findElement(By.css("#extdd-9 > div.tblRow > input.edititem")).click(); // Line 2
driver.switchTo().Frame("cq-gen379"); // Line 3
driver.findElement(By.id("CQrte")).sendKeys("Tnx"); // Line 4
driver.switchTo().defaultContent(); // Line 5, added to exit both frames
driver.switchTo().frame("cq-cf-frame"); // Line 6, added to re-enter outer frame
driver.findElement(By.xpath("//button[text()='OK']")).click(); // Line 6</code>
로그인 후 복사

이러한 변경 사항이 적용되면 코드는 이제 내부 iframe에 텍스트를 성공적으로 입력하고 외부 iframe에서 "확인" 버튼을 클릭해야 합니다.

위 내용은 중첩된 Iframe을 올바르게 종료하고 Selenium WebDriver의 요소와 상호 작용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿