針對css selector和xpath的優先級做一個簡單的說明
在項目中我們可能用的最多的是css或者xpath,那么針對這兩種,我們優先選擇css,原因在哪些?
原因1:css是配合html來工作,它實現的原理是匹配對象的原理,而xpath是配合xml工作的,它實現的原理是遍歷的原理,所以兩者在設計上,css性能更優秀
原因2:語言簡潔,明了,相對xpath
原因3:前段開發主要是使用css,不使用xpath,所以在技術上面,我們可以獲得幫助的機會非常多
定位元素的注意事項
找到待定位元素的唯一屬性 如果該元素沒有唯一屬性,則先找到能被唯一定位到的父元素/子元素/相鄰元素,再使用“>”," ","+"等進行輔助定位。
id選擇器
id 選擇器可以選中具有特定 id 的 HTML 元素 CSS 中 id 選擇器以 "#" 來定義。
通過#加上id的值就可以唯一定位到輸入框,如:#s_kw_wrap 這樣就可以使用id選擇器實現css定位方法元素定位
class 選擇器
class 選擇器可以選中具有特定 class 屬性的 HTML 元素 在 CSS 中,class 選擇器以 "."號 來定義
注意:在css中使用class定位的話,是以點(.)開始,還要將class中間的空格換成點(.)
屬性選擇器
屬性選擇器選擇具有特定屬性的 HTML 元素,如:[type="submit"]
分組選擇器
分組選擇器可以選中一組 HTML 元素 在 css 中,分組選擇器以 “,” 來定義
同時選擇所有<span>元素和所有 <a> 元素和所有 <div> 元素
選擇器組合使用
那在實際工作中通過上面其中一種是無法滿足的,還可以把他們組合起來。
組合選擇符
在 CSS中包含了四種組合方式:
后代選擇器(以空格分隔) 后代選擇器用於選取某元素的后代元素,無論層級有多深
例子:div span 描述:選擇 <div> 元素內部的所有 <span> 元素(包括子元素、孫子元素)
子元素選擇器(以大於號分隔) 與后代選擇器相比,子元素選擇器只能選擇其父元素的直接子元素
例子: div>p 描述:選擇 <div> 元素下的 <p> 子元素。
相鄰兄弟選擇器(以加號分隔)相鄰兄弟選擇器可選擇緊接在另一元素后的元素,且二者有相同父元素
例子: div>p 描述:選擇 <div> 元素之后的所有兄弟 <p> 元素
后續兄弟選擇器(以小波浪號分隔) 后續兄弟選擇器選取所有指定元素之后的相鄰兄弟元素。
例子: div~p 描述:選擇 <div> 元素之后的所有相鄰兄弟元素 <p>
偽類選擇器
nth-child(n) 匹配屬於其父元素的第 N 個子元素
nth-last-child(n),如字面意思:倒數第幾個標簽
nth-of-type(n),第 N 個指定類型的標簽
first-child,第一個標簽 last-child,最后一個標簽