zoukankan      html  css  js  c++  java
  • UI自动化通过文字、父子元素,兄弟元素定位

    在百度首页,通过文字,父子元素,兄弟元素进行定位

    一、文字定位:

    通过界面上的文字进行定位,注意如果同一个页面上存在多个同样的文字的情况,返回的值会是多个,建议只存在一个情况下才用这方法。

    如:定位百度界面上的“地图”文字:

    就可以通过:driver.find_element_by_xpath("//*[text()='地图']") ,进行定位。

    driver = webdriver.Chrome()
    driver.implicitly_wait(20)
    driver.get("https://www.baidu.com")
    print(driver.find_element_by_xpath("//*[text()='地图']").text)
    sleep(5)
    driver.quit()

     

    二、父子元素定位

     通过界面上的父元素和子元素关系定位:

     如:通过输入框<input id="kw">元素来定位父元素<span>的父元素<form>

    就可以通过:

    driver.find_element_by_xpath('//*[@id="kw"]/../..')或driver.find_element_by_xpath('//*[@id="kw"]/parent::*/parent::form'),进行定位父级。

    (1) . 表示当前节点,.. 表示父节点

    (2)parent,取当前节点的父节点

    driver = webdriver.Chrome()
    driver.implicitly_wait(20)
    driver.get("https://www.baidu.com")
    print(driver.find_element_by_xpath('//*[@id="kw"]/../..').get_attribute("id"))
    print(driver.find_element_by_xpath('//*[@id="kw"]/parent::*/parent::form').get_attribute("id"))
    sleep(5)
    driver.quit()

    三、兄弟元素定位

    通过界面上的兄弟元素关系定位:

     (1)通过弟弟元素定位哥哥元素

    如:通过定位百度界面上的“地图”定位哥哥元素“hao123”

    就可以通过://*[@id="u1"]/a[3]/preceding-sibling::a[1]来进行哥哥元素定位,其中“a[1]”表示离本元素最近的一个a元素,如果是“a[2]”则表示离本元素最近的第2个a元素
    driver = webdriver.Chrome(a)
    driver.implicitly_wait(20)
    driver.get("https://www.baidu.com")
    print(driver.find_element_by_xpath('//*[@id="u1"]/a[3]/preceding-sibling::a[1]').text) # 上节点
    sleep(5)
    driver.quit()

     

    (2)通过哥哥元素定位弟弟元素

    如:通过定位百度界面上的“地图”定位哥哥元素“视频”

    就可以通过://*[@id="u1"]/a[3]/following-sibling::a[1]来进行弟弟元素定位,其中“a[1]”表示离本元素最近的一个a元素,如果是“a[2]”则表示离本元素最近的第2个a元素
    driver = webdriver.Chrome()
    driver.implicitly_wait(20)
    driver.get("https://www.baidu.com")
    print(driver.find_element_by_xpath('//*[@id="u1"]/a[3]/following-sibling::a[1]').text) # 下节点
    sleep(5)
    driver.quit()

  • 相关阅读:
    《网络攻防第四周作业》
    《网络攻防第三周作业》20179313
    15.javaweb XML详解教程
    小程序新功能:直接进入内嵌网页!
    为什么要创业?听听扎克伯格怎么说
    面试官:“还有什么问题问我吗?”我...
    双十一为何规则复杂,套路多多
    如何设置电信光猫?图解手把手教你(超级详细)
    14.javaweb AJAX技术详解
    android黑科技系列——自动注入代码工具icodetools
  • 原文地址:https://www.cnblogs.com/lemon-feng/p/11275555.html
Copyright © 2011-2022 走看看