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