이전편까지의 셀레니움기능들로 대부분의 간단한 매크로를 만들 수 있습니다.
게시글 제목만 가져오기, 특정기간내의 게시글 가져오기, 여러계정들의 정보바꾸기 등등
하지만 다음 페이지로 넘어가고 페이지 로딩이 되지도 않았는데 프로그램은 페이지가 로딩 안된지 몰라서 다음 단계로 진행할 수 있습니다.
웹 로딩 대기
1.
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
해당코드는 페이지로딩까지 최대 10초까지 기다린다는 뜻 입니다
10초내로 페이지로딩이 완료되면 다음 작업을 진행하고 10초가 넘어가면 더이상 기다리지않고 다음 작업을 진행하게됩니다
한번만 설정하면 모든 드라이버에서 적용됩니다
원하는 '초'단위의 숫자를 입력하시면 됩니다
2.
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(10));
IWebElement SearchResult = wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementExists(By.XPath(xpath)));
10초동안 xpath요소가 존재할때까지 대기한다는 뜻입니다
여기서 특별한 셀레니움기능이 추가되는데
해당 패키지를 먼저 설치하셔야 합니다
3.
Thread.Sleep(1000);
특정 상황에서는 페이지로딩을 기다려도 특정한 이유로 더 기다려야하는 상황이 생길 수 있습니다
이럴 땐 강제로 슬립을 걸어서 기다리는 방법이 있습니다.
ms단위 이므로 1초를 기다리려면 위의 코드처럼 1000으로 입력해야합니다
자바스크립트
IJavaScriptExecutor _js = (IJavaScriptExecutor)_driver;
_js.ExecuteScript(js);
이건 별거 없고 이렇게 바로 실행해주시면 됩니다
https://github.com/ForestBird1/TestSelenium.git
GitHub - ForestBird1/TestSelenium
Contribute to ForestBird1/TestSelenium development by creating an account on GitHub.
github.com
'사이드프로젝트' 카테고리의 다른 글
[C#] 셀레니움,Selenium 사용법 (7) - 탭 관리 (0) | 2022.12.21 |
---|---|
[C#] 셀레니움,Selenium 사용법 (6) - 스크린샷 (0) | 2022.12.20 |
[C#] 셀레니움,Selenium 사용법 (4) - 텍스트박스 쓰기,읽기,지우기 그리고 매크로 (0) | 2022.12.18 |
[C#] 셀레니움,Selenium 사용법 (3) - XPath 그리고 클릭 (0) | 2022.12.17 |
[C#] 셀레니움,Selenium 사용법 (2) - 옵션설정 (0) | 2022.12.17 |