Python selenium库学习使用实操

文章目录


前言

今日老板给了一个Excel文件和一个表单录入网站,要求实现Excel的内容自动录入表单。这应该涉及自动化了吧,咱也不懂,开始搜吧,Selenium 是一个用于自动化 Web 浏览器操作的强大工具,广泛应用于 Web 应用程序测试、网页数据抓取和任务自动化等场景。Selenium 为各种编程语言提供了 API,用作测试。 目前的官方 API 文档有 C#、JavaScript、Java、Python、Ruby、Kotlin。

更多详情请移步Selenium官网


一、安装 Selenium

要开始使用 Selenium,首先需要安装 selenium 库,并下载适用于你浏览器的 WebDriver。

使用 pip 安装 Selenium:

python 复制代码
pip install selenium

二、下载WebDriver

Selenium 需要一个 WebDriver 来与浏览器进行交互。

不同的浏览器需要不同的 WebDriver,例如 Chrome 浏览器需要 ChromeDriver,你需要根据你使用的浏览器下载相应的 WebDriver,并确保它在你的系统 PATH 中。

本文以Edge为例,下载后点击安装如下

三、基本用法

1、打开网页

python 复制代码
from selenium import webdriver


if __name__ == "__main__":
    # 使用 Edge 浏览器
    driver = webdriver.Edge()
    driver.get("https://www.baidu.com")

通过命令python seleniumStudy.py运行,发现打开了Edge浏览器,并且成功打开了百度,但是几秒钟后就关闭了,原因是默认设置下Selenium会在完成所有操作后关闭浏览器。为防止这一情况,可以通过添加EdgeOptions的experimental_option,设置detach为True,使浏览器在脚本执行后保持打开状态。另外,也可以使用Options类来设置浏览器不关闭。

修改代码如下

python 复制代码
if __name__ == "__main__":
    # 获取浏览器配置
    options = webdriver.EdgeOptions()
    options.add_experimental_option('detach', True) # 保持浏览器不关闭

    # 使用Edge浏览器
    driver = webdriver.Edge(options)
    # 打开网页
    driver.get("https://www.baidu.com")

重新执行,正常。

2.查找页面元素

python 复制代码
# 通过 ID 查找元素
search_box = driver.find_element("id", "kw")
# 通过类名查找元素
search_button = driver.find_element("class name", "s_ipt")
# 通过标签名查找元素
links = driver.find_elements("tag name", "a")

3.模拟用户操作

Selenium 可以模拟用户在浏览器中的操作,例如点击、输入文本等:

python 复制代码
    # 输入搜索内容
    search_box.send_keys("Selenium Python")
    # 提交搜索表单
    search_box.send_keys(Keys.RETURN)


selenium 常用方法

方法 说明 示例代码

总结

以上就是Python selenium库的简单学习使用。至于excel如何操作,我们下一篇接着来学习。

相关推荐
gmmi2 分钟前
嵌入式学习 51单片机(3)
单片机·学习·51单片机
love530love24 分钟前
【保姆级教程】阿里 Wan2.1-T2V-14B 模型本地部署全流程:从环境配置到视频生成(附避坑指南)
人工智能·windows·python·开源·大模型·github·音视频
楼田莉子1 小时前
C++算法专题学习——分治
数据结构·c++·学习·算法·leetcode·排序算法
He1955011 小时前
Go初级之十:错误处理与程序健壮性
开发语言·python·golang
和鲸社区2 小时前
《斯坦福CS336》作业1开源,从0手搓大模型|代码复现+免环境配置
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·nlp
豌豆花下猫2 小时前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
THMAIL2 小时前
深度学习从入门到精通 - LSTM与GRU深度剖析:破解长序列记忆遗忘困境
人工智能·python·深度学习·算法·机器学习·逻辑回归·lstm
励志不掉头发的内向程序员2 小时前
C++进阶——继承 (1)
开发语言·c++·学习
悠哉悠哉愿意3 小时前
【数学建模学习笔记】机器学习分类:随机森林分类
学习·机器学习·数学建模
wheeldown3 小时前
【数学建模】数据预处理入门:从理论到动手操作
python·数学建模·matlab·python3.11