2017-09-26 2 views
2

일부 자동화 작업을 위해 셀레늄을 사용하여 웹 드라이버 인스턴스를 만듭니다. 한 번에 여러 개의 탭을 열어 모든 탭의 URL을 열 수있는 방법이 있는지 알고 싶습니다.Python을 사용하여 열려있는 탭의 URL을 모두 가져옵니다.

driver=webdriver.Chrome() 
driver.current_url 

위 코드는 첫 번째 탭의 URL 만 제공합니다. 내가 시도 또 한가지였다 window_handles() 적극적으로 그것을 방해하는 것처럼 각 탭의 current_url을 찾기 위해 current_url 나는 모든 탭을하지 않을 선호를 포함하지 않는 유니 코드 개체를 반환으로

driver.window_handles[0].current_url 

위의 솔루션은 실패 현재 진행중인 자동화 작업.

+0

확인이 그것으로, 각각의 창 핸들을 통해 루프 스위치를 필요로 인쇄 https://stackoverflow.com/questions/28715942/how-do-i-switch-to 활성 탭 셀레늄 – karansthr

+0

https://stackoverflow.com/questions/40458138/switch-between-tabs-and-perform-action-on-individual-using-selnium# – karansthr

답변

1

당신은 단지 URL을

for handle in driver.window_handles[0]: 
    driver.switch_to.window(handle) 
    print(driver.url) 
+0

나는이 아이디어를 얻었습니다. ,이 경우 스크립트는 URL을 찾기 위해 모든 탭을 스크롤해야합니다. 이것은 피하고 싶지 않은 것입니다 –

+0

당신은 그것을 피할 수 없습니다. 당신은 그것에 대한 자세한 내용을 보려면 창으로 전환해야하며 한 번에 하나의 창만 사용할 수 있습니다. –

관련 문제