python做自动化如何定位动态元素_python-web自动化-元素定位
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
# 打開(kāi)Chrome瀏覽器和百度網(wǎng)頁(yè)
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 元素定位:id絕對(duì)唯一,name其次
# id 定位‘百度首頁(yè)輸入框’元素,并輸入內(nèi)容
driver.find_element_by_id('kw').send_keys('軟件測(cè)試')
driver.find_element(By.ID,'kw').send_keys('軟件測(cè)試')
# classname
# 返回符合條件的第一個(gè)元素
driver.find_element_by_class_name('s_ipt').send_keys('今日新聞')
# 返回符合條件的所有元素,返回值是list,每一個(gè)值都是一個(gè)Webelement對(duì)象
# 不能再后面用send.key(),報(bào)錯(cuò)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. 絕對(duì)定位(不推薦用) : 以/開(kāi)頭,父/子關(guān)系
# 2. 相對(duì)定位
# A:以//開(kāi)頭,在這個(gè)html頁(yè)面中,有木有符合表達(dá)式的元素
# //標(biāo)簽名[@屬性名稱=屬性值]
# //標(biāo)簽名[@屬性名稱=屬性值 and @屬性名稱=屬性值]
#B:層級(jí)定位
# C: 文本內(nèi)容定位: //標(biāo)簽名[text()='文本值']
# D: 包含定位 : contains
# contains(@屬性名,屬性值) 例如 //a[contains(@class,"btns-enter-qq")]
# contains(text(),屬性值)
# E: 軸定位(通過(guò)以下軸名稱定位)
# ancestor : 祖先節(jié)點(diǎn),包括父
# parent : 父節(jié)點(diǎn)
# preceding: 當(dāng)前元素節(jié)點(diǎn)標(biāo)簽之前的所有節(jié)點(diǎn)(html頁(yè)面先后順序)
# preceding-slibling:當(dāng)前元素節(jié)點(diǎn)標(biāo)簽之前的所有兄弟結(jié)點(diǎn)
# following: 當(dāng)前元素節(jié)點(diǎn)標(biāo)簽之后的所有節(jié)點(diǎn)(html頁(yè)面先后順序)
# following-slibling:當(dāng)前元素節(jié)點(diǎn)標(biāo)簽之后的所有兄弟結(jié)點(diǎn)
# /軸名稱::節(jié)點(diǎn)名稱[@屬性名=屬性值]
總結(jié)
以上是生活随笔為你收集整理的python做自动化如何定位动态元素_python-web自动化-元素定位的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 联想一体机连接投影仪怎么操作?
- 下一篇: python第五章上机实践报告_第五章实