senlenium中的元素定位

  • id定位
  • name定位
  • class_name 定位
  • tag_name定位
  • link_text定位
  • partail_link_text定位
  • xpath定位
  • css定位

1 ID定位

  • 通過元素的ID屬性值來進行元素定位 ,在html標(biāo)準(zhǔn)規(guī)范中 ID值是唯一的

    說明: 元素要有ID屬性

  • 定位方法: find_element_by_id(id) # id參數(shù)表示的是id的屬性值

driver = webdriver.chrome()
driver.find_element_by_id("password").sendkeys("123456")

2 name定位

  • 通過元素的name屬性值為進行元素定位 name屬性值 在HTML頁面中,是可以重復(fù)的。

    說明:元素要有name屬性

  • 定位方法: find_element_by_name(name) # name 參數(shù)表示的是name的屬性值

3 class_name定位

  • 通過元素的class屬性值進行元素定位 class屬性值是可重復(fù)的

    說明:元素必須要有class屬性

  • 定位方法: find_element_by_class_name(class_name) class_name參數(shù)表示的是class的其中一個屬性值

4 tag_name定位

  • 通過元素的標(biāo)簽名稱進行定位, 在同一個html頁面當(dāng)中,相同標(biāo)簽元素會有很多。

    這種定位元素的方式不建議大家在工作當(dāng)中使用。

  • 定位方法: find_element_by_tag_name(tag_name) # tag_name表示的是元素的標(biāo)簽名稱。

    如果有重復(fù)的元素,定位到的元素默認(rèn)都是第一個元素

driver.find_element_by_tag_name('input').send_keys('admin')

5 link_text定位

  • 通過超鏈接的全部文本信息進行元素定位 ,主要用來定位a標(biāo)簽
  • 定位方法: find_element_by_link_text(link_text)
    link_text參數(shù)代表的是a標(biāo)簽的全部。
driver.find_element_by_link_text('訪問 新浪 網(wǎng)站').click()

6 partial_link_text定位

  • 通過超鏈接的局部文本信息進行元素定位,主要用來定位a標(biāo)簽
  • 定位方法:find_element_by_partial_link_text(partial_link_text)
    partial_link_text表示的是a標(biāo)簽的局部文本內(nèi)容
# 通過partial_link_text定位到新浪網(wǎng)站并點擊
driver.find_element_by_partial_link_text("訪問 新浪 網(wǎng)站").click()

7 定位一組元素

  • 定位一組元素的方法:

    find_elements_by_id(id)

    find_elements_by_tag_name(tag_name)

  • 定位一組元素返回的值是一個列表

  • 可以通過下標(biāo)來使用列表中的元素

  • 下標(biāo)是從0開始。

# 導(dǎo)入selenium
import time

from selenium import webdriver
# 實例化瀏覽器驅(qū)動對象(創(chuàng)建瀏覽器驅(qū)動對象)
driver = webdriver.Chrome()  # 創(chuàng)建的是谷歌瀏覽器驅(qū)動對象   chrome后面有括號,而且第一個字母要大寫
# driver = webdriver.Firefox() # 創(chuàng)建火狐瀏覽器驅(qū)動對象
# 打開百度網(wǎng)站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
# 使用tag_name定位密碼輸入框(第二個input標(biāo)簽),并輸入:123456
elements = driver.find_elements_by_tag_name("input")
elements[2].send_keys("123456")
# 等待3s(代表業(yè)務(wù)操作)
time.sleep(3)     # 通過快捷導(dǎo)包的方式導(dǎo)入time模塊,  光標(biāo)要在time后面再按alt+enter
# 退出瀏覽器驅(qū)動(釋放系統(tǒng)資源)
driver.quit()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容