四、Appium-python-UI自動化之Xpath定位元素

記錄一下selenium,appium中xpath根據父子、兄弟、相鄰節點定位的方法:

一、定位方式簡介:

1.Xpath軸所有的定位方式:

 2.常用的定位方式彙總:/child::  (由父節點定位子節點),/parent::(由子節點定位父節點),/preceding-sibling::(由弟弟節點定位哥哥節點),/following::(由哥哥節點定位弟弟節點)

 

二、定位方式詳細實例介紹:

1.由父節點定位子節點/child::  (由父節點定位子節點)

<html>
<body>
<div id="祖父節點">
    <!--父節點定位子節點-->
    <div id="父節點">
        <div>子節點</div>
    </div>
</div>
</body>
</html>

各種定位方式:

#問題:根據父節點,找出子節點
#1.串聯查找
driver.find_element_by_id('父節點).find_element_by_tag_name('div').text

#2.xpath父子關係尋找
driver.find_element_by_xpath("//div[@id='父節點']/div").text

#3.xpath軸 child
driver.find_element_by_xpath("//div[@id='父節點']/child::div").text

appium實例應用:

 

 

2.由子節點定位父節點 /parent::(由子節點定位父節點)

#問題:通過子節點定位父節點內容
<html>
<body>
<div id="祖父節點">
    <!--子節點定位父節點-->
    <div>
        <div>父節點
            <div>
                <div id="子節點"></div>
            </div>
        </div>
    </div>
</div>
</body>
</html>

各種定位方式:

# 1.xpath定位: `.`代表當前節點; '..'代表父節點
driver.find_element_by_xpath("//div[@id='子節點']/../..").text
 
# 2.xpath軸 parent
driver.find_element_by_xpath("//div[@id='子節點']/parent::*/parent::div").text

appium實例應用:

 

 

 

3.由弟弟節點定位哥哥節點:/preceding-sibling::(由弟弟節點定位哥哥節點)

 

#問題:聽過弟弟節點定位二哥節點
<html>
<body>
<div>
    <!--下面兩個節點用於兄弟節點定位-->
    <div>大哥節點</div>
    <div id="二哥節點"></div>
    <div>弟弟節點</div>
</div>
</body>
</html>

 

定位方式:

 

 

# 1.xpath,通過父節點獲取其大哥節點
print driver.find_element_by_xpath("//div[@id='二哥節點']/../div[1]").text
 
# 2.xpath軸 preceding-sibling
print driver.find_element_by_xpath("//div[@id='二哥節點']/preceding-sibling::div[1]").text

 

4.由哥哥節點定位弟弟節點:/following::(由哥哥節點定位弟弟節點)

#問題:定位弟弟節點
<html>
<body>
<div>
    <!--下面兩個節點用於兄弟節點定位-->
    <div>大哥節點</div>
    <div id="二哥節點"></div>
    <div>弟弟節點</div>
</div>
</body>
</html>

 

定位方式:

# 1.xpath,通過父節點獲取其弟弟節點
driver.find_element_by_xpath("//div[@id='二哥節點']/../div[3]").text
 
# 2.Xpath軸 following-sibling
driver.find_element_by_xpath("//div[@id='二哥節點]/following-sibling::div[1]").text
 
# 3.Xpath軸 following
driver.find_element_by_xpath("//div[@id='二哥節點']/following::*").text

appium實例應用:

 

 

 

 

 

    

 

發佈了49 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章