zoukankan      html  css  js  c++  java
  • 总结Selenium自动化测试方法(三)WebDriver定位元素方法

    三、WebDriver定位元素

    推荐使用的webdriver是firefox,因为他的firebug更能可以帮助定位页面元素使用

    # create a new Firefox session

            cls.driver = webdriver.Firefox()

    1、通过id定位

    可以通过find_element_by_id()方法来定位元素

    #通过id定位

            self.driver.find_element_by_id("hl").click()

            self.driver.find_element_by_id("m1").click()

    2、通过name定位

    可以通过find_element_by_name()方法来定位元素

    #通过name定位

            self.driver.find_element_by_name("panel").click()

            self.driver.find_element_by_name("find").click()

    3、通过class定位

    可以通过find_element_by_class_name()方法来定位元素

    #通过class定位

            self.driver.find_element_by_ class_name("panel panel-default").click()

            self.driver.find_element_by_ class_name("panel-body").click()

    4、通过tag定位

    可以通过find_element_by_tag_name()方法来定位元素

    #通过tag定位

            self.driver.find_element_by_ tag_name("input").click()

            self.driver.find_element_by_ tag_name("tag_name").click()

    5、通过link定位

    可以通过find_element_by_link_text()方法来定位元素

    #link定位

            self.driver.find_element_by_link_text("新闻").click()

            self.driver.find_element_by_ link_text("贴吧").click()

    6、通过XPath定位

    可以通过find_element_by_xpath()方法来定位元素,其中包括绝对路径定位、元素属性定位、层级与属性结合定位、逻辑运算符定位

    #绝对路径定位

    self.driver.find_element_by_xpath("/div/div[2]/div/div/div[2]/div").clear()

    #元素属性定位

    self.assertEqual(self.driver.find_element_by_xpath("//div[@class='modal-content']//div[@class='modal-header']//div[@class='bootstrap-dialog-header']//div[@class='bootstrap-dialog-title']").text,u"插入链接")

    #层级与属性结合定位

    self.driver.find_element_by_xpath("//div[@class='editor-tool-bar']/div[2]/button").send_keys('C:UsersPublicPicturesSample PicturesLighthouse.jpg')

    #逻辑运算符定位

    self.driver.find_element_by_xpath("//div[@class='form-group' and @id=’form’]//input[@id='ILD_linkText']").send_keys(u"贵金属主站")

    7、通过CSS定位(略)

    8、通过By定位(略)

  • 相关阅读:
    ios的自动转屏
    Acoustic Echo Cancellation (AEC) 回音消除技术探索
    springMVC之数据传递
    redis.conf 配置详解
    HDU 1880 字符串hash 入门题
    算法题: 求一个整数数组中,通过元素加减运算得到指定结果的所有运算过程. 例如【5,4,6,7,1】= 9 ?
    创建和使用SQL Server SSAS本地多维数据集
    yum局域网软件源搭建
    [置顶] 使用Android OpenGL ES 2.0绘图之六:响应触摸事件
    [置顶] Nosql笔记(一)——关系型数据库回顾
  • 原文地址:https://www.cnblogs.com/linyuchen2008/p/6040411.html
Copyright © 2011-2022 走看看