package www.zr.com;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.events.AbstractWebDriverEventListener; public class zr_EventListener extends AbstractWebDriverEventListener { //表示需要侦听浏览器浏览到某个页面后触发的事件
@Override
public void afterNavigateTo(String url,WebDriver driver)
{
System.out.printf("after Navigate To "+url);
} //表示需要侦听浏览器回退浏览某个页面后触发的事件
@Override
public void afterNavigateBack(WebDriver driver)
{
System.out.printf("after Navigate Back To "+driver.getCurrentUrl());
} //表示需要侦听鼠标单击页面上某个元素后触发的事件
@Override
public void afterClickOn(WebElement webElement,WebDriver driver)
{
System.out.printf("after Click On "+webElement.getText());
}
}

  

import org.openqa.selenium.support.events.EventFiringWebDriver;
import www.zr.com.zr_EventListener; public class autorunner_test { public static void main (String [] args)
{ //测试网址
String url = "http://www.zr.com"; //Chromedriver.exe 文件地址
String Chromedriver_fileAddress = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe";
//设置环境变量
System.setProperty("webdriver.chrome.driver", Chromedriver_fileAddress);
/******用固定端口打开应用************/
ChromeDriverService.Builder builder = new ChromeDriverService.Builder();
ChromeDriverService chromeService = builder.usingDriverExecutable(new File(Chromedriver_fileAddress)).usingPort(3333).build(); try{
chromeService.start();
}catch(IOException e){
e.printStackTrace();
} WebDriver xuyun_driver = new ChromeDriver(chromeService);
        /******用固定端口打开应用************/
//侦听事件 
EventFiringWebDriver eventFiringDriver = new EventFiringWebDriver(xuyun_driver);
zr_EventListener zrEventListener = new zr_EventListener(); eventFiringDriver.register(zrEventListener);
eventFiringDriver.get(url);
eventFiringDriver.findElement(By.id("personBtn")).click();
}
}

运行结果:

after Navigate To http://www.zr.com

after Click On 请登录

selenium webdriver 的事件处理的更多相关文章

  1. Selenium WebDriver Code

    Selenium WebDriver 用于模拟浏览器的功能,可以做网站测试用,也可以用来做crawler.我是用eclipse开发的,导入selenium-server-standalone-***. ...

  2. 使用httpclient 调用selenium webdriver

    结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver ...

  3. selenium webdriver 右键另存为下载文件(结合robot and autoIt)

    首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...

  4. Selenium Webdriver java 积累一

    Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriv ...

  5. Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)

            研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数 ...

  6. Selenium Webdriver下click失效问题解决

    最近在使用Selenium Webdriver(Selenium2.0)进行界面自动化测试的时候发现单击事件无效,通过driver.findElement的方式是可以找到click元素的,但是就是cl ...

  7. 如何用selenium webdriver 捕获js error

    ### 问题 捕捉页面上js error ### 解决办法 从Selenium webdriver log 中解析 # -*- coding:utf8 -*- import unittest from ...

  8. Selenium WebDriver 之 PageObjects 模式 by Example

    目录 1. 项目配置 2. 一个WebDriver简单例子 3. 使用Page Objects模式 4. 总结 5. Troubleshooting 6. 参考文档 本篇文章通过例子来阐述一下Sele ...

  9. Selenium webdriver 操作日历控件

    一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如: 但是,有的日期控件是readonly的 比如1 ...

随机推荐

  1. 牛客练习赛13D

    定义一个数字为幸运数字当且仅当它的所有数位都是4或者7.比如说,47.744.4都是幸运数字而5.17.467都不是.现在想知道在1...n的第k小的排列(permutation,https://en ...

  2. LeetCode OJ:Valid Anagram(有效字谜问题)

    Given two strings s and t, write a function to determine if t is an anagram of s. For example,s = &q ...

  3. javaScript-条件语句优化

    1.多重判断时使用 Array.includes test = (fruit: string) => { if (fruit == 'apple' || fruit == 'strawberry ...

  4. 剑指offer--25.二叉树的镜像

    时间限制:1秒 空间限制:32768K 热度指数:238655 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 ...

  5. scrapy 碎片

    1.启动命令 2.目录结构 3.文件说明 4.架构图示 5.代码流程 参考资料: http://www.cnblogs.com/yangxt90/articles/9021530.html http: ...

  6. 移植 MIUI Framework

    移植MIUI Framework 原文:http://www.miui.com/thread-409543-1-1.html 1. 为什么使用代码插桩 首先我们来回顾第一章中的Android软件架构图 ...

  7. Android UID and PID

    Android UID and PID 我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互 (startActivityForResult ...

  8. 激活函数之ReLU/softplus介绍及C++实现

    softplus函数(softplus function):ζ(x)=ln(1+exp(x)). softplus函数可以用来产生正态分布的β和σ参数,因为它的范围是(0,∞).当处理包含sigmoi ...

  9. (效果三)js实现选项卡切换

    开发了很久的小程序,在接到一个h5移动端页面的时候,很多原生的东西都忘了,虽然说我们随着工作经验的增加,处理业务逻辑的能力在提高,但是基础的东西如果长时间不用,也会逐渐忘记.所以以后会经常总结原生的一 ...

  10. HihoCoder1325 : 平衡树·Treap(附STL版本)

    平衡树·Treap 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:小Hi,我发现我们以前讲过的两个数据结构特别相似. 小Hi:你说的是哪两个啊? 小Ho:就是二 ...