2015-04-09 2 views
0

Здесь я получаю содержимое страницы, используя phantomjsdriver. Я могу получить полный контент статических веб-страниц. Но я не могу получить полный контент веб-страниц, имеющих аякс-вызовы (динамические веб-страницы). Когда я попробую приведенный ниже код Я могу получить содержимое динамических веб-страниц. Но я не могу предсказать время загрузки страницы. Итак, я ищу функции, которые показывают, что страница полностью загружена.Как узнать, что веб-страница полностью загружена с помощью phantomjsdriver в java

WebDriver driver = new PhantomJSDriver(caps); 
driver.get("http://www.blackwoods.com.au/search/flat-cut-off-wheels-metal-flexovit/302022874"); 
thread.sleep(10000); 
System.out.println(driver.getPageSource()); 
driver.quit(); 

Здесь я хочу использовать другую функцию, то thread.sleep(10000);.

Даже я пробовал с кодом ниже. Но не получил полного содержания

WebDriver driver = new PhantomJSDriver(caps); 
driver.get("http://www.blackwoods.com.au/search/flat-cut-off-wheels-metal- flexovit/302022874"); 
WebDriverWait wait = new WebDriverWait(driver,15); 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("ProductsPane"))); 
System.out.println(driver.getPageSource()); 
    driver.quit(); 

ответ

0

взглянуть на Web Testing Box и особенно смотреть на WaitTool, которая позволяет легко ждать элементов появляться.

Инструмент для вас - waitForJavaScriptCondition(), который позволяет запускать кусок JavaScript (в контексте проверяемой страницы).

Затем вам нужно будет взглянуть на используемую структуру. Например, если на странице используется jQuery, вы можете использовать $.active != 0 как условие (см. «How do I know if jQuery has an Ajax request pending?»).

+0

Я пробовал WaitTool driver.manage(). Timeouts(). ImplicitlyWait (20, TimeUnit.SECONDS); для следующих веб-сайтов. Но нет правильного содержимого страницы. http://ab.rockwellautomation.com/Circuit-and-Load-Protection/Circuit-Breakers/1489-Thermal-Magnetic#selection http://parts.arrow.com/Parametric/ParametricUI.jsp#base_pl=Amplifiers ; rew4xP – user3008819

+0

Я предполагаю, что на сайте есть защита от царапин. Вам придется проанализировать код JavaScript и журнал ошибок. –

Смежные вопросы