温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Locating Elements(二)

发布时间:2020-07-04 20:42:39 来源:网络 阅读:450 作者:AnthonyGao1105 栏目:软件技术

第四种方法: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"));


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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI