日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python xpath用法_Python--xpath的使用

發(fā)布時間:2023/11/27 生活经验 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python xpath用法_Python--xpath的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

chromedriver的版本問題:如果出現(xiàn)版本不匹配,可以嘗試換一個版本的chromedriver;

web自動化的元素定位--8大元素定位

6種元素:

id:---id是唯一的,這時候可以用id定位

name:---用戶交互有關系,例如有input、select、textarea

class_name:---定位的元素一定不能有空格,如果class_name很長,里面有空格,這時候可以只截取部分進行定位;如果復制整個class_name,就會報錯

link_text:---定位超鏈接文本

partial_link_text:---定位超鏈接文本,部分匹配去查找

tagname:---爬蟲喜歡用

通過源碼,可以知道:6大元素定位,最終都是通過css選擇器定位;所以大體上來說只有css和xpath兩種元素定位。

2種路徑

xpath:---xml 路徑語言,使用xpath分為絕對路徑和相對路徑,建議用相對路徑

css:

xpath

寫xpath表達式之前先去瀏覽器寫,確定表達式?jīng)]錯,再寫到Python中

xpath相對路徑://span[@class='bg s_ipt_wr quickdelete-wrap'] ---span是你要定位的標簽名,然后[],里面以@開頭,跟著元素值;

----注意:前面說使用class_name定位的時候,值不能有空格;但是當我們用xpath定位的時候,class_name需要復制全部值,包括空格,不然無法找到該元素

contain函數(shù):當屬性值很長的時候,可以使用contain函數(shù),只寫值的某一部分://span[contains(@class, 's_ipt_wr')]

----只有class_name里面包含了's_ipt_wr'就符合條件

text文本在web自動化里面不是元素屬性,不能用@符號去表示;直接寫成: 標簽名[text(),值],例如--//a[contains(text(),"新")]

xpath的索引是從1開始的。

----坑:一般不用,因為索引有時候會變;索引的優(yōu)先級非常高,如果非要用索引定位,就需要手工提高其他部分的優(yōu)先級,最后才用索引。例如:(//a[contains(text(),"新")])[1]

xpath軸定位:--面試常問需要記住軸定位的一些表達,根據(jù)上面的語法介紹鏈接學習

5.1 傳統(tǒng)組合上下級關系,/和//,在兩個元素之間:

---/表示父子關系://span[contains(@class, 's_ipt_wr')]/span[@class='soutu-btn']

---//表示祖先和孫子關系://form[@id='form']//span[@class='soutu-btn']

5.2 軸定位表示:

通過span去找form,就是定位到當前節(jié)點,通過當前節(jié)點找祖輩(當前節(jié)點名//ancestor::祖輩標簽名):---//span[@class='soutu-btn']//ancestor::form[@id='form']

xpath總結(jié)點

什么時候使用xpath定位:

1.1 沒有明顯特征的元素,或者說明顯特性元素找出來的值有很多個(例如id/name/class_name)

1.2 id/name/class_name不是唯一的時候

杜絕直接copy瀏覽器中的xpath,一個是因為copy出來的是絕對路徑;另一個是copy的路徑并不智能。并且在初學xpath的時候,不推薦使用xpath插件,工作中可以使用去提高效率---面試的時候xpath必考,需要自己可以熟練熟悉xpath表達式。

表示關系

3.1 . 或者..

3.2 /或者 // 只能從父級元素到子級元素

3.3 軸運算, //span[@class='soutu-btn']//parent::span 可以從子級找父級,只要記住關系名稱、當前節(jié)點名稱;

** 如果不知道要找的父級節(jié)點名稱,可以用通配符* 代替 *----就是//span[@class='soutu-btn']//parent::

拓展:css選擇器---可以自己看語法介紹

input#kw: #代表了id

input.soutu-btn: .代表了class_name

面試題

css和xpath的優(yōu)劣勢:

css更加簡潔

xpath的功能更加強大,對于簡單元素,使用css更加方便;對于復雜元素,使用xpath更合適;

xpath可以通過文本進行定位,但是css不行;

效率。css的解析效率更快一定,xpath的效率比css低;

text()文本定位

在web自動化中,使用selenium有沒有通過text文本進行定位的方法??

A:有,可以通過xpath對text文本進行定位。

在web自動化中,使用selenium有沒有直接通過text文本進行定位的方式?

A:沒有,selenium沒有直接封裝text定位的方式

總結(jié)

以上是生活随笔為你收集整理的python xpath用法_Python--xpath的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。