Python에서 Selenium을 사용하여 여러 브라우저 창을 관리하는 방법
광활한 웹 자동화 영역에서는 여러 브라우저 창과 상호 작용해야 하는 경우가 많습니다. 브라우저 창 또는 탭. 업계 최고의 자동화 프레임워크인 Selenium은 Python 개발자가 이러한 과제를 원활하게 탐색할 수 있는 능력을 제공합니다.
웹 테스트 중에 직면하게 되는 일반적인 시나리오 중 하나는 링크를 클릭하면 새 브라우저 창이 열리는 것입니다. 새로 열린 창 내에서 효과적으로 작업을 수행하려면 배경 창에서 포커스를 다른 쪽으로 전환해야 합니다.
대상 창 핸들 찾기
새 창으로 전환하기 전 , 핸들을 식별해야 합니다. 이 고유 식별자는 특정 창 인스턴스를 나타냅니다. 핸들을 검색하기 위해 열려 있는 모든 창 핸들 목록을 반환하는 driver.window_handles 메서드를 활용합니다. 현재 초점이 맞춰진 창의 핸들이 이 목록의 첫 번째 요소가 됩니다.
새 창으로 전환
이제 대상 창의 핸들이 있으므로, driver.switch_to.window(handle) 메소드를 사용하여 전환할 수 있습니다. 대상 핸들을 전달하면 포커스가 해당 창으로 효과적으로 이동하여 해당 컨텍스트 내에서 작업을 수행할 수 있습니다.
코드 예제
다음 Python 코드는 다음 방법을 보여줍니다. 새로 열린 창으로 전환:
import unittest from selenium import webdriver class GoogleOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_google_search_page(self): driver = self.driver driver.get("http://www.cdot.in") window_before = driver.window_handles[0] print(window_before) driver.find_element_by_xpath("//a[@href='http://www.cdot.in/home.htm']").click() window_after = driver.window_handles[1] driver.switch_to.window(window_after) print(window_after) driver.find_element_by_link_text("ATM").click() driver.switch_to.window(window_before) def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()
이 예에서는 "http://www.cdot.in" 웹사이트에 액세스하고 링크를 클릭하여 새 창을 엽니다. 그런 다음 두 창의 핸들을 검색하고 새로 열린 창으로 전환하여 추가 작업을 수행합니다.
위 내용은 Python에서 Selenium을 사용하여 여러 브라우저 창 간에 전환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!