• 3 Python+Selenium的元素定位方法(id、class name、name、tag name)


    【环境】

    Python3.6+selenium3.0.2+IE11+Win7

    【定位方法】

    1、通过ID定位

    方法:find_element_by_id('xx')

    2、通过name定位

    方法:find_element_by_name('xx')

    3、通过class name定位

    方法:find_element_by_class_name('xx')

    4、通过tag name定位

    方法:find_element_by_tag_name('xx')

    说明:tag name在html中是标签的名字,在一个页面上会有很多个标签的名字相同。这种定位方法适用于需要定位一组元素时。

    【示例】

    说明:tag name不能够成功定位,其他几个能成功定位百度搜索框。

    import unittest
    from selenium import webdriver
    import time
    
    class LearnElement(unittest.TestCase):
        #初始化,打开浏览器
        def setUp(self):
            self.driver = webdriver.Firefox()
            self.driver.get('http://www.baidu.com')
    
         #--------元素定位-------------
        #<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
        def testGetElement(self):
            #通过id定位
            element = self.driver.find_element_by_id('kw')
            # 通过class name定位
            #element=self.driver.find_element_by_class_name('s_ipt')
            #通过name定位
            #element = self.driver.find_element_by_name('wd')
            #通过teg name定位
            #element=self.driver.find_element_by_tag_name('input')
            element.send_keys('through id')
            submit = self.driver.find_element_by_id('su')
            submit.click()
            time.sleep(5)
    
        #--------关闭浏览器------------
        #def tearDown(self):
         #   self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()


     

  • 相关阅读:
    开博说两句
    学习总结 (持续更新)
    ip代理 120203
    [vs2005]关于预编绎网站的问题[已预编译此应用程序的错误]
    JAVA类基础
    集合类和泛型
    IO流——字符流
    多线程和包
    多态和内部类
    抽象类与接口
  • 原文地址:https://www.cnblogs.com/catleer/p/6279053.html
Copyright © 2020-2023  润新知