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
作者:cloud-2-jane
出处:https://www.cnblogs.com/cloud-2-jane/articles/18565243
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架