元素定位

今天先總結(jié)下selenium對元素的定位方法

一.網(wǎng)頁定位

網(wǎng)頁定位即根據(jù)具體網(wǎng)頁元素定位出我們所需要的元素

可根據(jù)class,id,tag等元素進(jìn)行定位

find_element(self,by='id',value=None)

find_element_by_class_name(self,name)

find_element_by_css_selctor(self,css_selector)

find_element_by_id(self,id_)

find_element_by_link(self,link_text)

find_element_by_name(self,name)

find_element_by_partial_link_text(self,link_text)

find_element_by_tag_name(self,name)

find_element_by_xpath(self,xpath)

這里應(yīng)注意的是element,沒加s,意思就是它返回的是你找到的元素的第0個

如果你寫的elements,如find_elements_by_id(self,id),則它返回的是一個元素的列表,如果你想用某個元素的屬性或方法,則應(yīng)該給個具體的下標(biāo)

二.內(nèi)容定位

內(nèi)容定位即獲取我們得到的elelment的一些內(nèi)容,如text,href,title等。

最常見的方法是直接.text,但這個方法只能獲取兩個標(biāo)簽的內(nèi)容

如果你想獲取的是它的屬性信息,或者遇到一個單標(biāo)簽,那這個方法就行不通了

如下面的百度首頁

如果你想獲取“百度一下”這四個字,你就要進(jìn)入標(biāo)簽的屬性里去

這是要運(yùn)行這個代碼

text=browser.find_element_by_id('su')

print(text.get_attribute('value'))

這里的get_attribute(value),從字面意思就可以知道,得到屬性的內(nèi)容

如果屬性里面又有其子元素,如value={title='123',url='456'}(這里只是舉例)

那么上面代碼里的text還包含了一些內(nèi)容,想要得到具體的內(nèi)容,還需用get()

s=eval(text)

title=s.get('title')

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容