我是這樣理解的, css選擇如同你盡可能具體的描述一個元素的形態, 包括他的: 標簽, 類, id 以及這些的組合, 目標是盡可能確定元素的唯一坐標 , 以方便選擇. 而xpath是根據元素的路徑去確定坐標的.
舉個例子, 形容上海, 用css可能會是 它是一座直轄市(類),在長江下游(標簽),是中國最大的城市(id),人口眾多,經濟發達(其他標簽)
用xpath則是: 它是東經 121°.4′ ;北緯 31°.2′ 的城市(絕對路徑) 或者 江蘇以南,浙江以北,蘇州市東側,長江入海口(相對路徑)
css選擇是依據頁面的數據樣式定位的, 有標簽選擇, 類選擇, id選擇, 或者他們的交並集, 除此之外沒有其他的輔助元素了 .
xpath是路徑表達式,所有元素和內容都可以成為路徑的一部分. 兩種定位方式功能基本一致, 但是xpath明顯更強大, 只是xpath寫起來較復雜,css寫起來容易些
做過一些實驗,用css有時候會選到一堆數據, 用xpath則是唯一的, 比較好用的工具比如firefox的插件view xpath ,可以比較准確的直接選擇
實際中有時候會遇到兩個元素的標簽, 類, id完全一致的情況,這時候用css就比較難搞了,雖然這種情況很少. 但是xpath絕對路徑就可以解決
