8种基本定位方式
1. id
- id :根据标签的id属性定位 方法:driver.find_element_by_id()
- 说明: id一般是唯一的,首选使用id定位
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据id属性定位输入框 13. driver.find_element_by_id('kw').send_keys('selenium') 14.
2. name
- name :根据标签的name属性定位 方法:driver.find_element_by_name()
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据name属性定位输入框 13. driver.find_element_by_name('wd').send_keys('selenium')
3. class name
- class name:根据标签的class属性定位 方法:driver.find_element_by_class_name()
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据class属性定位输入框 13. driver.find_element_by_class_name('s_ipt').send_keys('selenium')
4. tag name
- tag name :标签名称定位 方法:driver.find_element_by_tag_name()
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # tag_name定位, input 不是唯一的,运行会报错 13. driver.find_element_by_tag_name('input').send_keys('selenium')
5. link text
- link text:根据链接文本定位 方法:driver.find_element_by_link_text()
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据链接文本定位 13. driver.find_element_by_link_text('新闻').click()
6. partial link text
- partial link text:根据链接的部分文本定位 方法:driver.find_element_by_partial_link_text()
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据链接部分文本定位,当文本太长时,写部分即可 13. driver.find_element_by_partial_link_text('新').click()
7. xpath
- xpath:XML路径语言,来确定XML文档中某部分位置,后面详细介绍 方法:driver.find_element_by_xpath()
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据xpath定位 13. driver.find_element_by_xpath("//*[@id='kw']").send_key('selenium')
8. css selector
- css selector:css选择器,前端的知识,比xpath定位速度快 方法:driver.find_element_by_css_selector('#kw')
1. # -*- coding: utf-8 -*- 2. # @Time : 2021/1/9 3. # @Author : 大海 4. from selenium import webdriver 5. 6. driver = webdriver.Chrome() 7. baidu_url = 'https://baidu.com' 8. 9. # 打开百度 10. driver.get(baidu_url) 11. 12. # 根据id属性定位输入框 13. driver.find_element_by_css_selector('#kw').send_keys('selenium')