Selenium安装命令:
pip install selenium
导包:
from selenium import webdriver
from selenium.webdriver.common.by import By
# 下载完成首先需要导包
初始化:
首先创建阅览器(以谷歌为例)并访问百度首页,以首页为例,学习如何定位元素。
# 初始化
driver = webdriver.Chrome()
# driver = webdriver.Firefox()
# driver = webdriver.Edge()
# 打开CSDN网址
driver.get("https://www.baidu.com/")
右键输入框点击【检查】
常用元素定位方法:
定位一个元素 | 含义 |
By.id | 通过元素id定位 |
By.name | 通过元素name定位 |
By.class_name | 通过类名进行定位 |
By.xpath | 通过xpath表达式定位 |
By.link_text | 通过完整超链接定位 |
By.partial_link_text | 通过部分链接定位 |
By.tag_name | 通过标签定位 |
By.css_selector | 通过css选择器进行定位 |
## By.id 通过元素id定位
driver.find_element(By.ID, "kw")
## By.name 通过元素name定位
driver.find_element(By.NAME, 'wd')
## By.class_name 通过类名进行定位
driver.find_element(By.CLASS_NAME, 's_ipt')
## By.xpath 通过xpath表达式定位
driver.find_element(By.XPATH, '//*[@id="kw"]')
## By.tag_name 通过标签定位
driver.find_element(By.TAG_NAME,'input')
## By.css_selector 通过css选择器进行定位
driver.find_element(By.CSS_SELECTOR,'#kw')
操作元素方法:
语法 | 含义 |
click(); | 点击按钮 |
sendKeys(“XXX”); | 输入文本信息 |
clear(); | 清空文本 |
close(); | 关闭阅览器 |
driver.title | 获取网页title |
driver.current_url | 获取url |
.text | 获取文本信息 |
.size | 获取输入框长度 |
isSelected(); | 判断是否被选中 |
isdisplayed(); | 判断是否可见 |
isEnabled(); | 判断是否可编辑 |
# 定位百度搜索按钮并点击
driver.find_element(By.ID, "su").click()
# 定位百度搜索框按钮并清除输入框
driver.find_element(By.ID, "kw").clear()
# 定位百度搜索框按钮并输入文本内容
driver.find_element(By.ID, "kw").send_keys("自动化测试")
# 关闭浏览器
driver.close()
# 获取网页title
print(driver.title)
# 获取当前页面url
print(driver.current_url)
# 获取元素text
a1 = driver.find_element(By.XPATH, '//*[@id="hotsearch-content-wrapper"]/li[1]/a/span[2]').text
print(a1)
# 获取输入框长度
a2 = driver.find_element(By.ID, 'kw').size
print(a2)
# 判断元素是否可见 T/F
a3 = driver.find_element(By.ID, 'kw').is_displayed()
print(a3)
# 判断元素是否可编辑
a4 = driver.find_element(By.ID, 'kw').is_displayed()
print(a4)
清除输入框文本内容并关闭浏览器,每步操作增加了2秒的等待时间
# -*- coding: utf-8 -*-
# @Time : 2022/10/9 16:28
# @Author : qiao
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 初始化 启动谷歌浏览器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# 通过id定位输入框并输入自动化测试
driver.find_element(By.CSS_SELECTOR,'#kw').send_keys("自动化测试")
# 点击搜索按钮
driver.find_element(By.ID, "su").click()
# 等待2秒
time.sleep(2)
# 清除输入框文本内容
driver.find_element(By.ID, "kw").clear()
time.sleep(2)
# 关闭浏览器
driver.close()