在找到特定Web元素之前如何将Web元素传递给侦听器

时间:2016-08-31 11:22:04

标签: java selenium-webdriver

WebDriverEventListener中的

Selenium Webdriver接口包含方法

public void beforeFindBy(By arg0, WebElement arg1, WebDriver arg2);

我的理解是这个方法在每次webdriver搜索元素之前执行。我的问题是在找到特定的WebElement

之前如何将WebElement参数传递给方法

2 个答案:

答案 0 :(得分:1)

WebElement参数不是实际元素,而是必须执行搜索的元素。

driver.findElement()的情况下,将传递null。 在element.findElement()的情况下,元素将被传递。

类似于findElements()方法。查看使用EventFiringWebDriver的{​​{1}}代码。

答案 1 :(得分:0)

如果你看下面的实现,我认为这对你来说很明确:

 FirefoxDriver driver = new FirefoxDriver();
 EventFiringWebDriver eventDriver = new EventFiringWebDriver(driver);

EventHandler handler = new EventHandler();
eventDriver.register(handler);

这里注册方法将让你注册我们的WebDriverEventListner实现来监听WebDriver事件。

所以在做任何事情之前,它会使用初始化的驱动程序调用监听器。

本网站上有关于此的明确文档:

http://toolsqa.com/selenium-webdriver/event-listener/