python web自動化 元素定位

2022-07-26 08:30:15 字數 1875 閱讀 4087

# -*- coding:utf-8 -*-

from selenium import webdriver

from selenium.webdriver.common.by import by

driver = webdriver.chrome()

driver.get('')

# 元素定位:id絕對唯一,name其次

driver.find_element_by_id('kw').send_keys('軟體測試')

driver.find_element(by.id,'kw').send_keys('軟體測試')

# classname

# 返回符合條件的第乙個元素

driver.find_element_by_class_name('s_ipt').send_keys('今日新聞')

# 返回符合條件的所有元素,返回值是list,每乙個值都是乙個webelement物件

# 不能再後面用send.key(),報錯attributeerror: 'list' object has no attribute 'send_keys'

driver.find_elements_by_class_name('s_ipt')

# tag_name

driver.find_element_by_tag_name('span')

driver.find_elements_by_tag_name('span')

#name

driver.find_element_by_name('wd').send_keys('成功')

driver.find_elements_by_name('wd')

#link_text

driver.find_element_by_link_text('貼吧').click()#完全匹配,一模一樣

driver.find_element_by_partial_link_text('貼').click()#模糊匹配,包含即可

driver.find_elements_by_link_text('貼吧')#完全匹配,一模一樣

driver.find_elements_by_partial_link_text('貼')

# css

driver.find_element_by_css_selector('')

# xpath

driver.find_element_by_xpath('')

# 1. 絕對定位(不推薦用) : 以/開頭,父/子關係

# 2. 相對定位

# a:以//開頭,在這個html頁面中,有木有符合表示式的元素

# //標籤名[@屬性名稱=屬性值]

# //標籤名[@屬性名稱=屬性值 and @屬性名稱=屬性值]

#b:層級定位

# c: 文字內容定位: //標籤名[text()='文字值']

# d: 包含定位 : contains

# contains(@屬性名,屬性值) 例如 //a[contains(@class,"btns-enter-qq")]

# contains(text(),屬性值)

# e: 軸定位(通過以下軸名稱定位)

# ancestor : 祖先節點,包括父

# parent : 父節點

# preceding: 當前元素節點標籤之前的所有節點(html頁面先後順序)

# preceding-slibling:當前元素節點標籤之前的所有兄弟結點

# following: 當前元素節點標籤之後的所有節點(html頁面先後順序)

# following-slibling:當前元素節點標籤之後的所有兄弟結點

# /軸名稱::節點名稱[@屬性名=屬性值]

selenium python自動化 元素定位法

一 元素定位原則 首選id,沒有id,選擇name,id,name都沒有,選擇class 遇到a標籤,才能使用link text 前幾種方式都不可以,考慮copy xpath id,name,class這三種元素定位比較簡單,在這裡不再介紹。1 link text定位元素 比如,下面這段a 就可以用...

selenium python自動化元素定位

最近學習自動化測試,終於初步學習完成,需要進行部落格日誌總結,加深鞏固自己的知識。元素的八種定位方式 我們在python輸入的元素定位語法 bs.find element by id kw send keys selenium 必須包含id屬性 元素定位語法 必須包含name屬性的 元素定位語法 必...

python web自動化 鍵盤操作

selenium提供了較為完整的鍵盤操作 引入from selenium.webdriver.common.keys import keys 使用鍵盤操作時,需要借助send keys 來模擬操作。key.control就是我們鍵盤上的ctrl鍵 常用組合鍵 send keys key.contro...