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定位(略)

  • 相关阅读:
    Merlin 的魔力: SpringLayout 管理器
    setOpaque(true);设置控件不透明
    运用 BoxLayout 进行 Swing 控件布局
    李洪强iOS开发本人集成环信的经验总结_02_基本配置
    李洪强iOS开发之-PCH文件的配置
    李洪强iOS开发本人集成环信的经验总结_01环信SDK的导入
    iOS开发UI篇—Quartz2D使用(矩阵操作)
    iOS开发UI篇—Quartz2D使用(图形上下文栈)
    iOS开发UI篇—Quartz2D简单使用(二)
    iOS开发UI篇—Quartz2D简单使用(一)
  • 原文地址:https://www.cnblogs.com/linyuchen2008/p/6040411.html
Copyright © 2011-2022 走看看