- import java.util.List;
- import org.openqa.selenium.Alert;
- import org.openqa.selenium.By;
- import org.openqa.selenium.JavascriptExecutor;
- import org.openqa.selenium.NoSuchElementException;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.firefox.FirefoxDriver;
- import org.openqa.selenium.ie.InternetExplorerDriver;
- import org.openqa.selenium.support.events.AbstractWebDriverEventListener;
- import org.openqa.selenium.support.events.EventFiringWebDriver;
- import org.openqa.selenium.support.events.WebDriverEventListener;
- import org.openqa.selenium.support.ui.ExpectedCondition;
- import org.openqa.selenium.support.ui.Select;
- import org.openqa.selenium.support.ui.WebDriverWait;
- public class TestClick {
- public static class MyListener extends AbstractWebDriverEventListener {
- @Override
- public void beforeClickOn(WebElement element, WebDriver driver) {
- execjs(element, driver);
- }
- @Override
- public void beforeChangeValueOf(WebElement element, WebDriver driver) {
- execjs(element, driver);
- }
- private void execjs(WebElement element, WebDriver driver) {
- JavascriptExecutor js = ((JavascriptExecutor) driver);
- js.executeScript("return arguments[0].getText();", element);
- }
- }
- private static WebDriver driver;
- public static void main(String[] args) throws InterruptedException {
- EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver(new FirefoxDriver());
- eventFiringWebDriver.register(new MyListener());
- driver = eventFiringWebDriver;
- new TestClick().test();
- }
- public void test() throws InterruptedException {
- driver.get("http://localhost/test.html");
- for (int i = 0; i < 2; i++) {
- driver.findElement(By.tagName("a")).click();
- }
- }
- }