¿La forma correcta de probar el tiempo de carga de la página en selenio?

Estoy tratando de probar programáticamente el tiempo de carga de una lista de sitios web. El propósito es simular aproximadamente el tiempo de carga de la página que un usuario percibirá.

Mi primer enfoque es llamar a lo siguiente dentro de un bucle:

    startTime = System.currentTimeMillis();
    driver.get("http://" + url);
    diff = System.currentTimeMillis() - startTime;
    System.out.println("Load time was " + diff);

El problema es que a veces obtengo el resultado de tiempo antes de que la página se haya cargado realmente (es decir, tengo 50 ms de tiempo), así que supongo que el control se está entregando a la siguiente instrucción antes dedriver.get() ha completado.

¿Qué debo hacer para mejorar esta prueba?

EDITAR:

Como usuario1258245 sugirió que podría esperar a que se cargue un elemento, pero el problema es que no sé qué páginas se cargarán de antemano.

Respuestas a la pregunta(1)

Su respuesta a la pregunta