xpath定位元素位置:

1、定位父兄节点:

<div>
    <span>我是span1标签</span>
    <a id="1" href="www.baidu.com">我是第1个a标签</a>
    <p>我是p1标签</p>
    <a id="2" href="www.baidu.com">我是第2个a标签</a>
    <a id="3" href="www.baidu.com">我是第3个a标签</a>
    <a id="4" href="www.baidu.com">我是第4个a标签</a>
    <p>我是p2标签</p>
    <span>我是span2标签</span>
    <a id="5" href="www.baidu.com">我是第5个a标签</a>
</div>


获取第三个a标签的下一个a标签:"//a[@id='3']/following-sibling::a[1]"
获取第三个a标签后面的第N个标签:"//a[@id='3']/following-sibling::*[N]"
获取第三个a标签的上一个a标签:"//a[@id='3']/preceding-sibling::a[1]"
获取第三个a标签的前面的第N个标签:"//a[@id='3']/preceding-sibling::*[N]"
获取第三个a标签的父标签:"//a[@id='3']/.."

2、根据文本内容定位节点:

  • browser.find_element_by_xpath('//button/span[contains(text(), "指定文本内容")]').click()
  • browser.find_element_by_xpath("//[text()='文字内容']").click()
  • browser.find_element_by_xpath("//*[contains(text(),'文字内容')]").click()

3、select标签操作:

from selenium.webdriver.support.select import Select

sel = driver.find_element_by_xpath("//select[@id='status']")

#根据value定位,option中需要有value属性
Select(sel).select_by_value(
'0') #未审核 Select(sel).select_by_value('1') #初审通过 Select(sel).select_by_value('2') #复审通过 Select(sel).select_by_value('3') #审核不通过

#根据位置index定位
Select(sel).select_by_index(0)
Select(sel).select_by_index(1)
 


 

posted on 2020-03-20 15:12  testinga  阅读(641)  评论(0)    收藏  举报