十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
第四种方法:By CssSelector
成都创新互联成立于2013年,先为锡林郭勒盟等服务建站,锡林郭勒盟等地企业,进行企业商务咨询服务。为锡林郭勒盟企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
这种方法据说比用xpath要快,性能比用xpath要好"很多",在这里我想说,如果真的要钻牛角尖,那真比用xpath要快,但是差距可能也就是0.X秒,但是cssSelector比xpath更容易维护倒是真的,个人也比较喜欢这个方法,也比较容易上手,推荐大家看看css的东西对于加深UI的理解还是很有帮助的(http://www.w3school.com.cn/css/css_syntax_attribute_selector.asp)这里还要提下怎么样找到元素更简单就怎么用,至于脚本开发效率和以后的维护和性能自己权衡利弊,重要的是达成一致的规范,把简单的事情做复杂了那不是牛逼那是×××,貌似扯淡了。。。。
基本语法为
driver.findElement(By.cssSelector("****"));这里介绍一个工具叫firefind,firebug下的插件,这个插件可以帮助你用cssSelector识别元素,举个例子比如说我要找百度首页的那个百度logo,首先用firefox打开百度页面,然后按下F12打开firebug,切换到FireFinder,然后输入CSS属性去匹配,如果属性描述正确,百度logo将被高亮出来如图:
第五种方法:By linkText
这种方法就更直白了,就是根据link的名称来识别元素,比如百度首页有一个地图的link,只要根据link 的名字"地图"就可以识别了,基本语法为
driver.findElement(By.linkText("地图"));
第六种方法: By className
这种方法就是根据元素的class属性来识别元素的,但是可能有好多的元素的class name 是一样的,这样取到的就是元素的集合,基本语法为
driver.findElement(By.className("**"));
第七种方法为: By TagName
这种方法就是根据元素的TagName来识别元素的,比如有一元素html代码为:
就可以用这样的语法来识别该元素:
driver.findElement(By.tagName("iframe"));
当然还有很多其他的方法,这里就不一一描述了,方法是死的,能用好,能好用才有价值!