溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Locating Elements(二)

發(fā)布時(shí)間:2020-07-04 20:42:39 來(lái)源:網(wǎng)絡(luò) 閱讀:408 作者:AnthonyGao1105 欄目:軟件技術(shù)

第四種方法:By CssSelector

這種方法據(jù)說(shuō)比用xpath要快,性能比用xpath要好"很多",在這里我想說(shuō),如果真的要鉆牛角尖,那真比用xpath要快,但是差距可能也就是0.X秒,但是cssSelector比xpath更容易維護(hù)倒是真的,個(gè)人也比較喜歡這個(gè)方法,也比較容易上手,推薦大家看看css的東西對(duì)于加深UI的理解還是很有幫助的(http://www.w3school.com.cn/css/css_syntax_attribute_selector.asp)這里還要提下怎么樣找到元素更簡(jiǎn)單就怎么用,至于腳本開發(fā)效率和以后的維護(hù)和性能自己權(quán)衡利弊,重要的是達(dá)成一致的規(guī)范,把簡(jiǎn)單的事情做復(fù)雜了那不是牛逼那是×××,貌似扯淡了。。。。

基本語(yǔ)法為

driver.findElement(By.cssSelector("****"));這里介紹一個(gè)工具叫firefind,firebug下的插件,這個(gè)插件可以幫助你用cssSelector識(shí)別元素,舉個(gè)例子比如說(shuō)我要找百度首頁(yè)的那個(gè)百度logo,首先用firefox打開百度頁(yè)面,然后按下F12打開firebug,切換到FireFinder,然后輸入CSS屬性去匹配,如果屬性描述正確,百度logo將被高亮出來(lái)如圖:


Locating Elements(二)

第五種方法:By linkText

這種方法就更直白了,就是根據(jù)link的名稱來(lái)識(shí)別元素,比如百度首頁(yè)有一個(gè)地圖的link,只要根據(jù)link 的名字"地圖"就可以識(shí)別了,基本語(yǔ)法為

driver.findElement(By.linkText("地圖"));

第六種方法: By className

這種方法就是根據(jù)元素的class屬性來(lái)識(shí)別元素的,但是可能有好多的元素的class name 是一樣的,這樣取到的就是元素的集合,基本語(yǔ)法為

driver.findElement(By.className("**"));

第七種方法為: By TagName

這種方法就是根據(jù)元素的TagName來(lái)識(shí)別元素的,比如有一元素html代碼為:<iframe. src="..."></iframe>

就可以用這樣的語(yǔ)法來(lái)識(shí)別該元素:

driver.findElement(By.tagName("iframe"));


當(dāng)然還有很多其他的方法,這里就不一一描述了,方法是死的,能用好,能好用才有價(jià)值!


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI