為什么用CSS來進(jìn)行元素定位?##
相較id和name而言,更通用,因?yàn)楹芏喙镜那岸隧?yè)面不太規(guī)范,不是所有標(biāo)簽都會(huì)用id,name屬性
相較xpath而言,書寫更便捷,更易理解,當(dāng)前端頁(yè)面發(fā)生變更時(shí),只要標(biāo)簽名及其相應(yīng)的屬性名不變,便可一直使用下去;
def find_element_by_css_selector(self, css_selector):
"""
Finds an element by css selector.
:Args:
- css_selector - CSS selector string, ex: 'a.nav#home'
:Returns:
- WebElement - the element if it was found
:Raises:
- NoSuchElementException - if the element wasn't found
:Usage:
element = driver.find_element_by_css_selector('#foo')
初學(xué)者如何使用CSS元素定位器來定位?
使用CSS元素定位器五分鐘即可迅速上手。甚至不需要學(xué)習(xí)CSS語(yǔ)法。
我們只需要找到CSS元素定位的三大要素:標(biāo)簽(laber),類(class),ID(id)
這里以百度為例,走一下元素定位的過程:
1.首先進(jìn)入我們想要訪問的頁(yè)面,點(diǎn)擊'F12',進(jìn)入開發(fā)者模式

image.png
在element調(diào)試臺(tái)點(diǎn)擊元素選擇器后選擇想要定位的元素,可以在彈框看到對(duì)應(yīng)的標(biāo)簽和類名,如果這個(gè)是唯一的,就可以直接作為css選擇器的入?yún)?/p>