selenium模块
前言
环境:python3.9 + selenium4.26.1
Selenium 是一个用于自动化 Web 浏览器操作的强大工具,广泛应用于 Web 应用程序测试、网页数据抓取和任务自动化等场景。
用前准备
下载selenium模块
pip install selenium
下载浏览器对应驱动
找到自己的chrom版本
下载对应chrom驱动
- 114及之前的版本可以通过点击下载chromedriver,根据版本号(只看大版本)下载对应文件
- 116版本通过点击下载chromedriver,便可直接下载压缩包。
- 117/118/119版本通过点击,可以看到117 Stable 稳定版本以及更高版本的测试版。进入到 Chrome for Testing availability
选择下载stable,我的就是这个如图
将解压后chromedriver.exe
的添加到chrome安装目录。
测试
以下代码复制粘贴即可
from selenium import webdriver
import time
# 加载驱动
driver = webdriver.Chrome()
# 访问百度
driver.get("https://baidu.com/")
time.sleep(3) # 因为访问后会自动退出,设置3秒停留时间
简单示例
打开浏览器,搜索python
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 加载驱动
driver = webdriver.Chrome()
# 访问百度
driver.get("https://baidu.com/")
# 获取百度输入框
search_input = driver.find_element(By.ID, 'kw')
# 输入python
search_input.send_keys("python")
# 获取“搜索”按钮
search_button = driver.find_element(By.ID, 'su')
# 点击跳转
search_button.click()
time.sleep(10) # 因为访问后会自动退出,设置10秒停留时间
智慧树刷课脚本【待完成】
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 一、进入智慧树并登录
# 加载驱动
driver = webdriver.Chrome()
# 访问智慧树,进入主页面
driver.get("https://www.zhihuishu.com/")
time.sleep(3)
# 获取登录按钮
login_button = driver.find_element(By.XPATH, '/html/body/div[1]/div[2]/div[1]/div/ul/li[5]/a')
# 点击登录,进入登录页面
login_button.click()
time.sleep(3)
# 获取手机号和密码的input,获取登录按钮
mobile_input = driver.find_element(By.XPATH, '/html/body/div[8]/div/form/div[1]/ul[1]/li[1]/input[4]')
pwd_input = driver.find_element(By.XPATH, '/html/body/div[8]/div/form/div[1]/ul[1]/li[2]/input')
submit_button = driver.find_element(By.XPATH, '/html/body/div[8]/div/form/div[1]/span')
# 输入手机号,密码
mobile_input.send_keys("手机号")
pwd_input.send_keys("密码2024-11-26 09:38:29 星期二")
submit_button.click()
# 会有一个滑动待写,留10秒时间,先手动滑一下
time.sleep(10)
# 二、观看课程
# 获取课程元素并点击
my_class = driver.find_element(By.XPATH, '/html/body/div[1]/section/div[2]/section[2]/section/div/div/div/div[2]/div[1]/div[2]/ul/div/dl/dd/div/img')
my_class.click()
time.sleep(50)
# 有个弹窗,取消一下
cancel_alter = driver.find_element(By.XPATH, '/html/body/div[1]/div/div[6]/div[2]/div[1]/i') # 报错待处理
my_class.click()
time.sleep(10)
# 保持窗口
while True:
time.sleep(1)
print("结束")
智慧树脚本链接:https://blog.csdn.net/Runfreeone/article/details/136062153