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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于selenium的8种元素定位

發(fā)布時間:2025/3/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于selenium的8种元素定位 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

selenium中有八種元素定位,分別是:id,name,class_name,tag_name,link_text、partial_link_text、xpath、css

簡單的定位可以用id、name、class_name、tag_name等,如果遇到復(fù)雜的元素需要定位則要使用xpath、或者css定位

下面是每種定位的用法——拿百度來說

1、id——定位到百度的輸入框,可以看到百度的輸入框id是唯一的,具體可以看下圖

在pycharm中,語句是:driver.find_element_by_id("kw").send_keys("selenium")

send_keys表示在輸入框中輸入文本

2、name——還是以百度輸入框為例,可以看出百度輸入框的name屬性也是唯一的

在pycharm 中語句是:

#Python學(xué)習(xí)交流QQ群:778463939 driver.find_element_by_name("wd").send_keys("selenium")

3、class_name——“百度一下”按鈕,可以看出這個的class_name 是唯一的

在pycharm中的語句是:driver.find_element_by_class_name("bg s_btn").click()

4、tag_name——標(biāo)簽名稱

這個方法很少用到,一般用xpath/css比較多

5、link_text——用來定位文本鏈接的
比如定位百度中的新聞:driver.find_element_by_link_text("新聞").click()

6、partial_link_text:和link_text 相似,唯一不同的是定位部分文本
如:點擊hao123——driver.find_element_by_partial_link_text("hao").click()

7、xpath
(1)用xpath對標(biāo)簽內(nèi)的屬性進行定位(id、name、class)
方法://標(biāo)簽名[@屬性=“屬性名”] 雙引號也可以用單引號表示
當(dāng)某個元素的屬性不是唯一的時候,需要采用組合的方式定位:"//標(biāo)簽名[@屬性=‘屬性名’ and @屬性=‘屬性名’]"

(2)用text()方法定位
//標(biāo)簽名[text()=“XXXX”]

(3)模糊定位——contains()方法定位
//標(biāo)簽名[contains(@屬性,“屬性值”)]

(4)軸定位

通過軸定位定位“百度一下”按鈕 首先定位到這個按鈕,可以看到這是個input標(biāo)簽,input標(biāo)簽的父元素是span標(biāo)簽,span標(biāo)簽的父元素是form標(biāo)簽,那么我們可以從form標(biāo)簽開始定位然后通過descendant來找到它的后代input

//form[@id='form']/descendant::input[@id='su']

通過following 來定位——following 表示標(biāo)簽節(jié)點之后

//span[@id='s_kw_wrap']/following::input[@id='su']

//span[@id='s_kw_wrap']表示定位到id屬性為s_kw_wrap的<span>標(biāo)簽,/following::input[@id='su']表示找到<span>結(jié)束標(biāo)簽(即</span>)后的所有input標(biāo)簽,然后通過[@id='su']精準(zhǔn)定位到id屬性為’su’的<input>標(biāo)簽

  • parent::可指定要查找的當(dāng)前節(jié)點的直接父節(jié)點,例如,父節(jié)點是個div,即可寫成parent::div,如果要找的元素不是直接父元素,則不可使用parent,可使用ancestor,代表父輩、祖父輩等節(jié)點;

  • child::表示直接子節(jié)點元素

  • following-sibling只會標(biāo)識出當(dāng)前節(jié)點結(jié)束標(biāo)簽之后的兄弟節(jié)點,而不包含其他子節(jié)點

總結(jié)

以上是生活随笔為你收集整理的关于selenium的8种元素定位的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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