LocatingElements(二)-创新互联
第四种方法:By CssSelector
专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业云梦免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。这种方法据说比用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"));
当然还有很多其他的方法,这里就不一一描述了,方法是死的,能用好,能好用才有价值!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享文章:LocatingElements(二)-创新互联
网页地址:http://pwwzsj.com/article/spjoo.html