selenium模块

前言#

环境:python3.9 + selenium4.26.1

Selenium 是一个用于自动化 Web 浏览器操作的强大工具,广泛应用于 Web 应用程序测试、网页数据抓取和任务自动化等场景。

用前准备#

下载selenium模块#

pip install selenium

下载浏览器对应驱动#

找到自己的chrom版本

image

下载对应chrom驱动

选择下载stable,我的就是这个如图

image

将解压后chromedriver.exe的添加到chrome安装目录。

image

测试#

以下代码复制粘贴即可。如果运行不了,将谷歌浏览器的安装目录添加到环境变量再试

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 国际」许可协议进行许可。

posted @   一只大学生  阅读(11)  评论(0编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示