для этих целей вам надо использовать интерфейс WebDriverEventListener, который позволит вам подключаться в разным событиям
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.events.WebDriverEventListener;
public class MyWebDriverEventListener implements WebDriverEventListener {
public void afterChangeValueOf(WebElement element, WebDriver selenium) {}
public void afterClickOn(WebElement element, WebDriver selenium) {}
public void afterFindBy(By by, WebElement element, WebDriver selenium) {}
public void afterNavigateBack(WebDriver selenium) {}
public void afterNavigateForward(WebDriver selenium) {}
public void afterNavigateTo(String url, WebDriver selenium) {}
public void afterScript(String script, WebDriver selenium) {}
public void beforeChangeValueOf(WebElement element, WebDriver selenium) {}
public void beforeClickOn(WebElement element, WebDriver selenium) {}
public void beforeFindBy(By by, WebElement element, WebDriver selenium) {}
public void beforeNavigateBack(WebDriver selenium) {}
public void beforeNavigateForward(WebDriver selenium) {}
public void beforeNavigateTo(String url, WebDriver selenium) {}
public void beforeScript(String script, WebDriver selenium) {}
public void onException(Throwable error, WebDriver selenium) {}
}
а дальше надо его подключить к WebDriver
selenium = new EventFiringWebDriver(driver).register(eventListener);
более детально на вопрос КАК вам думаю сможет ответить уже готовая статья http://blog.simon-reekie.me/2011/05/21/logging-selenium-2-events-in-twist/