2013-06-15 8 views
1

웹 페이지가 완전히로드 될 때까지 기다리는 방법이 필요하다. 그리고 정확히 그 후, 더 이상 기다리고, 나는 웹 페이지로 작업을 수행 할 필요가 없습니다 : 쿠키를 확인,로드 된 페이지의 URL을 얻을 <a> 요소를 클릭 내가로드 페이지로 작업하기 전에 다음 코드를 사용 Selenium Webdriver를 사용하여 window.onload 이벤트를 기다린다.

에 이렇게 :

IWait<IWebDriver> wait=new WebDriverWait(drv, TimeSpan.FromSeconds(30.00));     
wait.Until(d => ((IJavaScriptExecutor)drv).ExecuteScript("return document.readyState").Equals("complete")); 

그러나이 코드는 Chrome에서 페이지가 완전히로드 될 때까지 100 % 대기하지 않으며 Internet Explorer에서 작동하지 않습니다.

더 나은 해결책을 제공해주십시오.

미리 답변 해 주셔서 감사합니다!

+0

해결책을 찾았습니까? –

답변

1

document.readyState가 페이지로드 완료의 실제 상태를 항상 반환하지는 않습니다. 페이지의 특정 요소를 기다릴 수 있는지 확인하십시오.이 요소는 페이지에서 마지막으로로드됩니다.

+0

의견을 보내 주셔서 감사합니다. 나는 그런 해결책을 알고있다 - 적재 될 페이지의 구조가 알려질 때 상황에 대해. 그러나 문제는로드 될 페이지가 –

+0

이라는 구조가 이전에 알지 못했다는 것입니다 (광고 된 제품의 수가 표시되는 배너에 대한 사용자의 클릭을 시뮬레이트합니다. 각 특정 시간마다 다른 광고가 표시됩니다). 배너를 클릭 한 후, 광고 된 제품의 페이지로드 어떻게 든 'window.onload'또는 'document.ready'이벤트를받을 필요가 있지만 현재이 구현하는 방법을 몰라. –

관련 문제