国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

selenium定位元素(包括父子,兄弟)及常見(jiàn)操作

這篇具有很好參考價(jià)值的文章主要介紹了selenium定位元素(包括父子,兄弟)及常見(jiàn)操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

selenium WebDriver定位元素

  • id定位:find_element_by_id()
  • name定位:find_element_by_name()
  • class定位:find_element_by_class_name()
  • link定位:find_element_by_link_text()
  • partial link定位:find_element_by_partial_link_text()
  • tag定位:find_element_by_tag_name()
  • xpath定位:find_element_by_xpath()
  • css定位:find_element_by_css_selector()
#-----------------------------------------------------------------------
# 通過(guò)元素id定位
#-----------------------------------------------------------------------
driver.find_element_by_id("userid")

#-----------------------------------------------------------------------
# 通過(guò)class_name定位
#-----------------------------------------------------------------------
# 通過(guò)class_name定位一個(gè)元素
driver.find_element_by_class_name("userclass")

# 通過(guò)class_name定位一批元素,返回結(jié)果為數(shù)組,下標(biāo)從0開(kāi)始
driver.find_elements_by_class_name("userclass")
driver.find_elements_by_class_name("userclass")[1].click()

#-----------------------------------------------------------------------
# 通過(guò)xpath定位元素
#-----------------------------------------------------------------------
# 根據(jù)元素屬性和值定位
# 定位id="userid"的元素
driver.find_element_by_xpath("http://*[@id=\"userid\"]")

# 定位placeholder屬性為"請(qǐng)輸入名字"的input元素,即<input placeholder="請(qǐng)輸入名字">
driver.find_element_by_xpath("http://input[@placeholder=\"請(qǐng)輸入名字\"]")

# 定位id="userid"元素-下層元素span-下層元素第二個(gè)input
driver.find_element_by_xpath("http://*[@id=\"userid\"]/span/input[1]")

# 多條件定位
driver.find_element_by_xpath("http://input[@name=\"username\" and @value=\"lxm\"]")
//input[@name='continue'][@type='button']  # 待驗(yàn)證
driver.find_element_by_id("id").find_element_by_class_name("name")  # 待驗(yàn)證

# 根據(jù)文本定位元素
# 定位文本為“世界真美好”的li元素
driver.find_element_by_xpath("http://li[text()=\"世界真美好\"]")
# 定位文本為“我愛(ài)這個(gè)世界”的span元素
driver.find_element_by_xpath("http://span[text()=\"我愛(ài)這個(gè)世界\"]")

# 定位文本為“世界真美好”的li元素-可傳入變量
str = "世界真美好"
driver.find_element_by_xpath("http://li[text()=\"%s\"]" % str)


# 根據(jù)關(guān)鍵字
driver.find_element_by_xpath("http://a[contains(@href,\"#id1\")]")

#在a標(biāo)簽下有個(gè)文本(text)包含(contains)'網(wǎng)頁(yè)' 的元素
driver.find_element_by_xpath("http://a[contains(text(),'網(wǎng)頁(yè)')]").click()

#有個(gè)叫a的標(biāo)簽,他有個(gè)鏈接href='http://www.baidu.com/ 的元素
driver.find_element_by_xpath("http://a[@).click()



#-----------------------------------------------------------------------
# 通過(guò)tag定位元素
#-----------------------------------------------------------------------
# 查找input標(biāo)簽的元素
driver.find_element_by_tag_name("input")

父子、兄弟節(jié)點(diǎn)定位

.表示當(dāng)前節(jié)點(diǎn),…表示父節(jié)點(diǎn),/表示絕對(duì)路徑,//表示相對(duì)路徑文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-400130.html

根據(jù)父節(jié)點(diǎn)定位子節(jié)點(diǎn)

driver.find_element_by_xpath("http://*[text()=\"國(guó)家\"]/div/input/span")
# child::input選取當(dāng)前節(jié)點(diǎn)的input子節(jié)點(diǎn)
driver.find_element_by_xpath("http://*[text()=\"國(guó)家\"]/child::div/child::input/child::span")

根據(jù)子節(jié)點(diǎn)定位父節(jié)點(diǎn)

# ..表示父節(jié)點(diǎn)
driver.find_element_by_xpath("http://*[text()=\"上海\"]/../../span")
# parent::span選取當(dāng)前節(jié)點(diǎn)的span父節(jié)點(diǎn)
driver.find_element_by_xpath("http://div[text()=\"上海\"]/parent::*/parent::span")

根據(jù)兄節(jié)點(diǎn)定位弟節(jié)點(diǎn)

# 通過(guò)兄節(jié)點(diǎn)找到父節(jié)點(diǎn),由父節(jié)點(diǎn)定位弟節(jié)點(diǎn)
driver.find_element_by_xpath("http://*[text()=\"上海\"]/../span[3]")
# following-sibling 選取當(dāng)前節(jié)點(diǎn)之后的同級(jí)節(jié)點(diǎn)
driver.find_element_by_xpath("http://*[text()=\"上海\"]/following-sibling::span")
driver.find_element_by_xpath("http://*[text()=\"上海\"]/following-sibling::span[2]")

根據(jù)弟節(jié)點(diǎn)定位兄節(jié)點(diǎn)

# 通過(guò)弟節(jié)點(diǎn)找到父節(jié)點(diǎn),由父節(jié)點(diǎn)定位兄節(jié)點(diǎn)
driver.find_element_by_xpath("http://*[text()=\"上海\"]/../span[0]")
# preceding-sibling 選取當(dāng)前節(jié)點(diǎn)之前的同級(jí)節(jié)點(diǎn)
driver.find_element_by_xpath("http://*[text()=\"上海\"]/preceding-sibling::span")

在元素上操作

click()

# 點(diǎn)擊操作
click()

# 單擊id為userid的元素
driver.find_element_by_id("userid").click()

send_keys()

# 向元素發(fā)送文本
send_keys("luxuemei")

# 向id為userid的元素填充文本luxuemei
driver.find_element_by_id("userid").send_keys("luxuemei")

獲取元素上的文本

# 獲取元素文本
driver_text = driver.find_element_by_id("userid").text

clear()

# 清除元素的內(nèi)容,如清除input框內(nèi)的文字
driver.find_element_by_id("userid").clear()

get_attribute()

# 獲取元素屬性值
driver.find_element_by_id("userid").get_attribute("value")

WebDriverWait

# 文件引入
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 每0.5s定位ID為userid的元素,如果定位成功,執(zhí)行下面的代碼;直至30s超時(shí)拋出異常
# 可用來(lái)檢查頁(yè)面元素是否加載完成
WebDriverWait(driver, 30, 0.5).until(EC.presence_of_element_located(By.ID, "userid"))
  • 官網(wǎng)地址:Locator strategies | Selenium
  • 參考文檔:http://www.selenium.org.cn/category/use

到了這里,關(guān)于selenium定位元素(包括父子,兄弟)及常見(jiàn)操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • selenium【元素定位與操作】

    定位元素 [@屬性=‘屬性值’] [@屬性] [tag] [text()=‘文本’] 返回的是元素兩個(gè)間的文本 [contains(text(),“元素兩個(gè)間的部分文本”)] [contains(@屬性名,“部分屬性值”)] 定位下拉列表的某個(gè)選項(xiàng):driver.find_element(By.XPATH,‘//option[text()=“聯(lián)想”]’) driver.find_element(By.XPATH,‘//o

    2024年04月18日
    瀏覽(45)
  • selenium頁(yè)面元素定位、操作

    selenium頁(yè)面元素定位、操作

    ?? 1、通過(guò)頁(yè)面開(kāi)發(fā)者工具(點(diǎn)擊鍵盤(pán)F12或者空白處右擊點(diǎn)擊檢查)中的element,查看頁(yè)面html代碼; 2、點(diǎn)擊開(kāi)發(fā)者工具左上角鼠標(biāo)按鈕; 3、鼠標(biāo)移動(dòng)至需要定位元素位置; 4、高亮顯示; 5、右擊選擇定位方式。 1 打開(kāi) / 關(guān)閉瀏覽器 注意: 關(guān)閉瀏覽器close和quit的區(qū)別: 以

    2023年04月08日
    瀏覽(24)
  • selenium元素定位方式及常用操作

    selenium元素定位方式及常用操作

    要想操作一個(gè)對(duì)象,首先應(yīng)該識(shí)別這個(gè)對(duì)象。 定位方式有很多,但是要保證這種方式存在,且能夠唯一的定位到這個(gè)元素。 1、用 id 來(lái)定位 優(yōu)先選擇 ※ 首先在 Chrome 瀏覽器上把鼠標(biāo)放到搜索框,鼠標(biāo)右擊選擇開(kāi)發(fā)者模式(快捷鍵:f12),查看對(duì)應(yīng) id 名 2、用 name 來(lái)定位 在開(kāi)

    2024年02月02日
    瀏覽(33)
  • selenium新版元素定位方法、元素操作與基本API

    注意:selenium新版元素定位需要導(dǎo)入方法By,使用By來(lái)調(diào)用元素定位方法 ? ? from selenium.webdriver.common.by import By ? ? 標(biāo)簽的 id屬性具有唯一性,就像人的身份證,不存在根據(jù)一個(gè)id屬性定位到多個(gè)標(biāo)簽的情況。假設(shè)有個(gè)iframe標(biāo)簽如下,其 id 屬性值為\\\"actionFrame\\\"。 我們可以通過(guò)

    2024年02月03日
    瀏覽(20)
  • (三) selenium元素定位和常用操作(下)

    (三) selenium元素定位和常用操作(下)

    上一篇:(二) selenium元素定位(上)_要開(kāi)朗的spookypop的博客-CSDN博客 本篇繼續(xù)介紹常用的元素定位和常用操作。 通過(guò)鏈接文本定位 alerts彈窗 瀏覽器窗口操作 1、通過(guò)鏈接文本定位 上圖是一個(gè)返回首頁(yè)的鏈接,點(diǎn)擊后跳轉(zhuǎn)到首頁(yè),元素定位關(guān)鍵代碼: driver.find_element(By.LINK_TEXT,

    2024年02月11日
    瀏覽(19)
  • selenium不定位元素直接使用鍵盤(pán)操作(如彈框操作)

    selenium不定位元素直接使用鍵盤(pán)操作(如彈框操作)

    今天在使用selenium進(jìn)行定位時(shí),發(fā)現(xiàn)直接定位不了chrome的彈框,如這種彈框: 使用的是下面這行代碼 運(yùn)行報(bào)錯(cuò),說(shuō)是沒(méi)有 alert windown。。。。 ???難道chrome的彈框不是用alert寫(xiě)的?emmm……還真是,現(xiàn)在很少使用alert這種原生彈框了,多多少少都會(huì)自己封裝下,然后就……全網(wǎng)

    2024年02月08日
    瀏覽(27)
  • 【Python+Selenium學(xué)習(xí)系列5】Selenium特殊元素定位之-鼠標(biāo)懸停操作

    【Python+Selenium學(xué)習(xí)系列5】Selenium特殊元素定位之-鼠標(biāo)懸停操作

    Selenium模擬用戶(hù)在瀏覽器中的操作,比如點(diǎn)擊按鈕。在某些場(chǎng)景下,我們需要 模擬鼠標(biāo)懸停的操作,來(lái)觸發(fā)一些隱藏的元素。 本文將介紹Python Selenium實(shí)現(xiàn)鼠標(biāo)懸停操作。 鼠標(biāo)懸停,即 當(dāng)光標(biāo)與其名稱(chēng)表示的元素重疊時(shí)觸發(fā)的事件,在Selenium中將鍵盤(pán)鼠標(biāo)操作封裝在Action Cha

    2024年04月10日
    瀏覽(23)
  • 【selenium自動(dòng)化測(cè)試】如何定位頁(yè)面元素,及對(duì)頁(yè)面元素的操作方法

    【selenium自動(dòng)化測(cè)試】如何定位頁(yè)面元素,及對(duì)頁(yè)面元素的操作方法

    selenium元素定位 ?selenium定位元素的方式有8種。 fild_element(by,value):by表示使用的定位方式,定位方式可以參見(jiàn)By類(lèi)。value表示值,例如:根據(jù)id定位 By.ID,value=id屬性的值。該方法返回元素對(duì)象,返回值如下: 這個(gè)返回結(jié)果說(shuō)明:返回值為WebElement類(lèi)的對(duì)象,元素在使用方法時(shí)

    2024年02月10日
    瀏覽(28)
  • 【Selenium】隱藏元素的定位和操作|隱藏與isDisplay方法

    【Selenium】隱藏元素的定位和操作|隱藏與isDisplay方法

    一、selenium 中隱藏元素如何定位? 如果單純的定位的話(huà),隱藏元素和普通不隱藏元素定位沒(méi)啥區(qū)別,用正常定位方法就行了 但是吧~~~能定位到并不意味著能操作元素(如click,clear,send_keys) 二、隱藏元素 如下圖有個(gè)輸入框和一個(gè)登錄的按鈕,本來(lái)是顯示的 ? 元素的屬性隱藏

    2024年04月10日
    瀏覽(22)
  • Python+Selenium實(shí)現(xiàn)列表元素的查找定位及刪除操作

    Python+Selenium實(shí)現(xiàn)列表元素的查找定位及刪除操作

    獲取列表(單頁(yè))全部數(shù)據(jù) 刪除某行元素 查找并刪除元素(目前僅支持刪除單條數(shù)據(jù),循環(huán)刪除待繼續(xù)研究) 結(jié)果示例

    2024年02月13日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包