driver.window_handles 에는 default 창을 포함한 창들이 저장되어있다. Show while 문을 통해 첫번째 tab[0] 창을 제외한 모든 창을 닫는다. 마지막으로는 반드시 switch_to.window 로 첫번째 창으로 돌아와야한다. selenium 새 탭 열기실제 사람이 인터넷에서 새로운 탭을 열기 위해서는 Ctrl + Mouse Click으로 새탭을 엽니다. from selenium import webdriver browser =
webdriver.Chrome() # 본인이 클릭하고 싶은 것 클릭 target에 send_keys를 이용해 a tag에 Ctrl + Click을 보내어 새로운 탭을 열게됩니다. send_keys는 현재 browser 초점이 맞춰진 요소에 대해 키값을 보냅니다. target.send_keys(Keys.CONTROL + "\n")를 살펴보면 Keys.CONTROL은 selenium 상에서 Ctrl 키이며 \n은 엔터를
의미합니다. target.send_keys(Keys.COMMAND + "\n")를 살펴보면 google -> gmail click(새로운 탭)selenium 탭 전환새로운 탭을 열었을 시 selenium은 default로 parent window 창을 초점으로 잡고 있기에 탭 전환이 필요합니다. selenium 탭을 전환하기 위해서는 switch_to_window()를 사용해야 합니다. 매개변수로 window_name을 넣어야하는데 window_handles현재 활성화 된 window_name를 list 형식으로 반환합니다. print(browser.window_handles) # 출력 탭을 연 순서에 따라 0, 1의 인덱스를 가지며 # 새로운 탭으로 초점을 전환
browser.window_handles[1]을 사용해서 2번째 탭으로 이동하라고 명시했습니다. 2번째 탭 활성화browser 종료# 현재 탭 종료 현재 browser의 초점이 맞춰진 해당 탭만
닫습니다. # 모든 탭 종료 close()와 quit()의 차이점이 궁금하신 분은 아래의 링크를 참조하세요. 전체코드from selenium import webdriver browser = webdriver.Chrome() # 본인이 클릭하고 싶은 것 클릭 # 새로운 탭으로 초점을 전환 참고문헌
https://daeunginfo.blogspot.com/2019/05/python-selenium.html |