Python용 Selenium에서 새 창으로 전환
Python을 사용하는 Selenium 자동화에서는 여러 브라우저 창을 처리하는 것이 일반적인 작업입니다. 새 창을 여는 링크를 클릭하면 원래 창에 초점이 유지되어 새 창에서 작업이 수행되지 않습니다.
배경 창에서 새로 열린 창으로 초점을 전환하려면 drivers.switch_to.window() 메소드를 사용할 수 있습니다. 그러나 이를 위해서는 창 이름을 알아야 합니다.
창 이름 찾기
창 이름을 검색하려면 window_handles 속성을 활용할 수 있습니다. 현재 활성화된 창 핸들 목록을 반환합니다. 링크를 클릭하기 전에 원래 창의 창 핸들을 저장할 수 있습니다:
window_before = driver.window_handles[0]
링크를 클릭한 후 새 창의 창 핸들을 얻을 수 있습니다:
window_after = driver.window_handles[1]
새 창으로 전환
창 핸들이 있으면 switch_to.window() 메서드를 사용하여 새 창으로 전환할 수 있습니다.
driver.switch_to.window(window_after)
이제, 새 창에 초점이 맞춰져 있어 요소 클릭, 페이지 탐색 등의 작업을 수행할 수 있습니다.
코드 예
다음 코드는 새 창으로 전환하는 방법을 보여줍니다. Python용 Selenium의 새 창:
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()
위 내용은 Python용 Selenium에서 새 창으로 어떻게 전환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!