Selenium:Webdriver:是否有一个监听器来捕获WebDriver启动的浏览器会话中的用户操作?

时间:2013-05-25 05:30:26

标签: selenium webdriver selenium-webdriver selenium-ide

我正在尝试使用Selenium2 / Webdriver创建一个基本的录制工具,我知道Selenium已经提供了一个IDE,但我想构建一个更通用的。

更具体地说,一旦我在java中使用WebDiver API启动浏览器,我想在当前会话中注册一个监听器,这样我就可以捕获用户与WebDriver启动的浏览器的交互。基本上如果我用Java编写记录用户交互,我该怎么办呢?与EventFiringWebDriver类非常相似,但此类在驱动程序启动命令而不是borwser会话时通知侦听器。

例如,假设我使用以下命令启动浏览器:

WebDriver driver = new FirefoxDriver();

现在有一个空白的firefox浏览器打开,它说底部的WebDriver是红色的。现在假设我在此浏览器中输入www.google.com并按Enter键。浏览器会将我导​​航到google.com。我是否可以注册一个监听器,通知我此浏览器会话中发生的事件?

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

我不熟悉听众。我知道人们倾向于使用类似BrowserMob Proxy之类的东西来充当中间人来捕获和重放HTTP操作。由于WebDriver使用JSON Wire协议运行,我认为这可能更适合您正在寻找的内容。

此外,Simon Stewart(WebDriver的创建者)对Selenium WebDriver项目的理念和架构进行了详细的撰写。您可以看到here

干杯, 戴夫H

答案 1 :(得分:1)

确实存在WebDriverEventListener。请参阅文档链接。欢呼声。

答案 2 :(得分:-1)

我有主意。我们结合使用selemius执行js代码。 看起来像ff.execute_script("alert('hello,selenium')") 您可以编辑js,如onclick或onmove。...