C#에서 Selenium(셀레늄, 셀레니움)을 사용하여 스크립트가 실행된 후 웹 페이지의 상태가 완전히 로드될 때까지 기다리는 예시(예제) 코드를 공유합니다. 여기서 WebDriverWait과 IJavaScriptExecutor를 활용하여 document.readyState가 "complete"가 될 때까지 기다린답니다.
페이지가 완전히 로드되었는지를 확인하고, 로드가 완료되면 true를 반환하는 예시코드는 다음과 같아요.
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
using System;
private void BeomSang()
{
try
{
using (IWebDriver driver = new ChromeDriver())
{
bool isStateComplete = new WebDriverWait(driver, TimeSpan.FromMilliseconds(10000)).Until(
d => ((IJavaScriptExecutor)d).ExecuteScript("return document.readyState").Equals("complete"));
}
}
catch (Exception ex)
{
throw ex;
}
}WebDriverWait: 주어진 시간 내에 조건이 충족될 때까지 대기하는 클래스입니다. 여기서는 10초 동안document.readyState가 "complete"가 될 때까지 기다립니다.IJavaScriptExecutor: Selenium의ExecuteScript메서드를 사용하여 JavaScript 코드를 실행합니다. 여기서는document.readyState를 반환하는 스크립트를 실행합니다.document.readyState: 페이지의 현재 로드 상태를 나타내며, "complete"는 페이지가 완전히 로드된 상태를 의미합니다.
이 코드를 사용하면, 페이지가 로드 된 이후의 코드에 대해 특정 코드를 실행하는 데 도움을 줄 수 있을 것입니다.
