Locating Elements(二)

第四种方法:By CssSelector

这种方法据说比用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将被高亮出来如图:


Locating Elements(二)

第五种方法:By linkText

这种方法就更直白了,就是根据link的名称来识别元素,比如百度首页有一个地图的link,只要根据link 的名字”地图”就可以识别了,基本语法为

driver.findElement(By.linkText(“地图”));

第六种方法: By className

这种方法就是根据元素的class属性来识别元素的,但是可能有好多的元素的class name 是一样的,这样取到的就是元素的集合,基本语法为

driver.findElement(By.className(“**”));

第七种方法为: By TagName

这种方法就是根据元素的TagName来识别元素的,比如有一元素html代码为:<iframe. src=”…”></iframe>

就可以用这样的语法来识别该元素:

driver.findElement(By.tagName(“iframe”));

当然还有很多其他的方法,这里就不一一描述了,方法是死的,能用好,能好用才有价值!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/192932.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论