?前言
大部分人在使用selenium定位元素時(shí),用的是xpath元素定位方式,因?yàn)閤path元素定位方式基本能解決定位的需求。xpath元素定位方式更直觀(guān),更好理解一些。
css元素定位方式往往被忽略掉了,其實(shí)css元素定位方式也有它的價(jià)值;相對(duì)于xpath元素定位方式來(lái)說(shuō),css元素定位方式更快,語(yǔ)法更簡(jiǎn)潔。
一、css元素定位:通過(guò)元素的標(biāo)簽或者元素的id、class屬性定位
1、css元素定位方式可以通過(guò)元素的id、class、標(biāo)簽這三個(gè)常規(guī)屬性直接定位。
2、舉例:如下是百度輸入框的的html代碼:
<input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd"/>
①css元素定位使用#號(hào)表示id屬性,如:#kw
②css元素定位方式使用.表示class屬性,如.s_ipt
③css元素定位方式也可以直接使用標(biāo)簽名稱(chēng),而沒(méi)有任何標(biāo)識(shí)符,如:input
二、css元素定位:通過(guò)元素的其它屬性定位
1、css元素定位除了可以通過(guò)標(biāo)簽、class、id這三個(gè)常規(guī)屬性定位外,也可以通過(guò)元素的其它屬性定位。例如:?
三、css元素定位:通過(guò)標(biāo)簽與屬性的組合來(lái)定位元素?
四、css元素定位:通過(guò)元素的層級(jí)關(guān)系來(lái)定位
1、css元素定位可以達(dá)到類(lèi)似xpath元素定位通過(guò)元素的層級(jí)關(guān)系來(lái)定位,例如:
xpath元素定位:?//form[@id='form']/span/input?和?//form[@class='fm']/span/input?也可以用css實(shí)現(xiàn)?
五、css元素定位:通過(guò)元素的并列索引來(lái)定位?
1、以下圖為例:與四相似。?
2、css元素定位也可以通過(guò)索引option:nth-child(1)來(lái)定位子元素,這點(diǎn)與xpath寫(xiě)法用很大差異,其實(shí)很好理解,直接翻譯過(guò)來(lái)就是第幾個(gè)小孩?
六、css元素定位:通過(guò)對(duì)元素屬性的邏輯運(yùn)算來(lái)定位
1、css同樣也可以實(shí)現(xiàn)邏輯運(yùn)算,同時(shí)匹配兩個(gè)屬性,這里跟xpath不一樣,無(wú)需寫(xiě)and關(guān)鍵字。
七、處理selenium中的css_selector定位元素的模糊匹配問(wèn)題
①?匹配元素的id屬性,先指定一個(gè)html標(biāo)簽,然后加上“#”符號(hào),再加上id的屬性值。
driver.find_element_by_css_selector('div#ID').click()
②匹配元素的class屬性,先指定一個(gè)html標(biāo)簽,然后加上“.”符號(hào),再加上class的屬性值。
driver.find_element_by_css_selector('div.CLASS').click()
③匹配元素的其他屬性?!具@里不再是‘.’或者‘#’符號(hào),而是采用了"標(biāo)簽名[屬性名=屬性值]"的方式定位元素】
driver.find_element_by_css_selector('div[name=NAME]').click()
④組合匹配【支持定位元素對(duì)象通過(guò)兩組或兩組以上的屬性】
driver.find_element_by_css_selector('div[name=NAME][type=TYPE]').click()
⑤匹配頭部
driver.find_element_by_css_selector('div[style^="sp.gif"]').click()
⑥匹配尾部
driver.find_element_by_css_selector('div[style$="sp.gif"]').click()
⑦匹配中間
driver.find_element_by_css_selector('div[style*="sp.gif"]').click()
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來(lái)總是要有的,雖然不是什么很值錢(qián)的東西,如果你用得到的話(huà)可以直接拿走:
軟件測(cè)試面試小程序
被百萬(wàn)人刷爆的軟件測(cè)試題庫(kù)?。?!誰(shuí)用誰(shuí)知道?。?!全網(wǎng)最全面試刷題小程序,手機(jī)就可以刷題,地鐵上公交上,卷起來(lái)!
涵蓋以下這些面試題板塊:
1、軟件測(cè)試基礎(chǔ)理論 ,2、web,app,接口功能測(cè)試 ,3、網(wǎng)絡(luò) ,4、數(shù)據(jù)庫(kù)?,5、linux
6、web,app,接口自動(dòng)化 ,7、性能測(cè)試?,8、編程基礎(chǔ),9、hr面試題 ,10、開(kāi)放性測(cè)試題,11、安全測(cè)試,12、計(jì)算機(jī)基礎(chǔ)
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-679036.html
這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!???文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-679036.html
到了這里,關(guān)于css元素定位:通過(guò)元素的標(biāo)簽或者元素的id、class屬性定位,還不明白的伙計(jì),看這個(gè)就行了!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!