■ WebDriverWait 클래스의 Until 메소드를 사용해 특정 엘리먼트가 클릭 가능할 때까지 대기하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Support.UI; using SeleniumExtras.WaitHelpers; #region 엘리먼트 클릭 가능시까지 대기하기 - WaitUntilElementClickable(driver, by, timeout) /// <summary> /// 엘리먼트 클릭 가능시까지 대기하기 /// </summary> /// <param name="driver">크롬 드라이버</param> /// <param name="by">BY</param> /// <param name="timeout">타임아웃 (단위 : 초)</param> /// <returns>엘리먼트</returns> public IWebElement WaitUntilElementClickable(ChromeDriver driver, By by, int timeout = 10) { try { WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeout)); return wait.Until(ExpectedConditions.ElementToBeClickable(by)); } catch(NoSuchElementException) { throw; } } #endregion |
※ 설치 누겟
– Selenium.WebDriver
– Selenium.Support
– Selenium.WebDriver.ChromeDriver
– DotNetSeleniumExtras.WaitHelpers