我们来看一下官网提供的代码写法,即最原始的写法:
driver.findElement(By.id("kw")).click()
这样写是没任何问题的,但这样没有把元素对象,数据,业务逻辑分离,达不到装逼的效果,为了使这三方面分离,我们先来分析一下这句代码:这里面涉及到了三个对象:driver对象,By对象,WebElement对象。由于现在大多数人使用了所谓的Page-Object模式,具体请参考我另一篇博客:
http://www.cnblogs.com/zhangfei/p/3456159.html
这样即达到了元素对象与脚本分离的效果,最后把上面这句代码可以变为这样的:
page.getElement("百度按钮").click();
这样以后,似乎看起来很不错了,但是有的人希望在click时,自动的输出log,但click是WebElement的方法,又没接口,又不让继承,无法办到,倒是可以使用AOP框架来注入,亦或者字节码注入的方式,这两种方式,我都只是听过,根本不会用啊,暂且不表。我们来看看大多数人使用的方法:
public void click(String key){
WebElement element = this.getElement("key");
System.out.println("click the: "+element.toString());
element.click();<