Вопрос по java, webdriver, selenium-webdriver, selenium – Как мы можем получить точное время для загрузки страницы с помощью Selenium WebDriver?

7

Как мы можем получить точное время для загрузки страницы с помощью Selenium WebDriver?

Мы используем Thread.sleep

Мы неявно используем Wait

мы используем WebDriverWait

но как мы можем получить точное время загрузки страницы с помощью Selenium WebDriver?

использовать API времени навигации Corey Goldberg
Какой язык программирования вы хотите использовать? Ripon Al Wasim

Ваш Ответ

2   ответа
14

сколько времени требуется, чтобы полностью загрузить страницу с помощью Selenium WebDriver (a.k.a Selenium 2).

Обычно WebDriver должен возвращать управление вашему коду только после полной загрузки страницы.

Таким образом, следующий код Selenium Java может помочь вам найти время для загрузки страницы:

long start = System.currentTimeMillis();

driver.get("Some url");

long finish = System.currentTimeMillis();
long totalTime = finish - start; 
System.out.println("Total Time for page load - "+totalTime); 

Если это не работает, вам придется подождать, пока какой-то элемент не отобразится на странице -

 long start = System.currentTimeMillis();

driver.get("Some url");

WebElement ele = driver.findElement(By.id("ID of some element on the page which will load"));
long finish = System.currentTimeMillis();
long totalTime = finish - start; 
System.out.println("Total Time for page load - "+totalTime); 
Ват, если идут вызовы Ajax и элемент тоже виден? Пример веб-сайта -mortgage-lender-reviews.com/reviews/amerisave-reviews.html
да вы конечно правы Это не совсем правильный ответ. Если мы не используем Java и Selen, добавление может дать нам правильное время -searchenginejournal.com/… , Пожалуйста, дайте мне знать, если есть какой-либо способ достичь времени загрузки страницы с помощью кода Java.
Единственная возможная проблема заключается в том, что вы также включаете время, необходимое для отправки / получения команд Selenium. Если вы работаете с концентратором в Интернете, это дополнительное время ожидания может исказить время загрузки страницы.
3

3.time. Ниже приведен полный код Selenium WebDriver с использованием Java:

import org.apache.commons.lang3.time.StopWatch;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class TimerInSeleniumWebDriver {
    public static void main(String[] args) {
        WebDriver driver;
        driver = new FirefoxDriver();       
        StopWatch pageLoad = new StopWatch();
        pageLoad.start();
        //Open your web app (In my case, I opened facebook)
        driver.get("https://www.facebook.com/");
        // Wait for the required any element (I am waiting for Login button in fb)
        WebDriverWait wait = new WebDriverWait(driver, 10);
        wait.until(ExpectedConditions.presenceOfElementLocated(By.id("u_0_l")));

        pageLoad.stop();
        //Get the time
        long pageLoadTime_ms = pageLoad.getTime();
        long pageLoadTime_Seconds = pageLoadTime_ms / 1000;
        System.out.println("Total Page Load Time: " + pageLoadTime_ms + " milliseconds");
        System.out.println("Total Page Load Time: " + pageLoadTime_Seconds + " seconds");
        driver.close();
    }
}

Похожие вопросы