하아찡

[크롤링] 새창으로 핸들값 변경 본문

C#/크롤링

[크롤링] 새창으로 핸들값 변경

하아찡 2022. 8. 30. 18:06

작업을 하다보면 새창에서 진행해야하는 경우가 발생할때 사용하면 될거같음.

//오리저널 핸들값을 저장
originWindow = driver.CurrentWindowHandle;

foreach (string window in driver.WindowHandles)
{
	//새창을 찾는다.
	if (originWindow != window)
	{
		driver.SwitchTo().Window(window);
		break;
	}
}

현재 핸들값을 저장한후, 드라이버가 가지고잇는 핸들값들중 오리지널 핸들값과 다른 핸들값이 있을경우 그 창이 새창이기 때문에 "SwitchTo().Window(핸들값)"를 사용해주면 해당 창으로 핸들값이 변경이 된다.

작업 완료 후 "SwitchTo().Window(originWindow)" 를 사용해서 본래 창으로 돌아올수있음.

 

 

참고사이트 

https://www.selenium.dev/documentation/webdriver/browser/windows/

반응형