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 >
    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()