使用Python实现网页账户的自动登录操作

发布时间:2026/9/7 22:32:25

使用Python实现网页账户的自动登录操作
自动化办公以及网络数据交互的场景当中, 运用实现网站自动登录能够把效率极其显著地提升上去。紧接下来的这篇章将会依托于库为依据进行呈现, 十分详尽地阐述怎样借助实现网页版的账户自动登录, 此涵盖原理、步骤以及代码详解。文章的末尾处附带完整的实现代码。一、实现原理达成百度自动登录的关键所在是借助, 在自动化测试方面的库。它能够模拟浏览器的相关操作, 借此通过编写代码来调控浏览器加载网页, 去定位页面之中的元素, 并且针对这些元素开展操作, 像输入文本, 点击按钮之类的。我们能够借助这个去模拟用户于浏览器里输入用户名以及密码, 接着点击登录按钮的这一历程, 进而达成自动登录该行为的实现。另外, 鉴于百度登录页面存在可能会有动态加载的内容这种情况而言, 我们还得结合显式等待以及隐式等待, 以此来确保在页面元素加载完毕之后再去进行操作, 防止出现找不到元素的那种错误。二、准备工作1安装必要的库代码编写开始之前, 要保证库已安装。要是没安装, 可借pip用以下命令来安装:pip install selenium2下载浏览器驱动得借助浏览器驱动才能够对浏览器实施控制, 就以浏览器为实例来说, 需下载与其所对应的版本, 具体的步骤是这样子的:要查看浏览器版本, 需先打开这款相关的浏览器, 接着点击处于其上的右上角的三个点, 随后对其继续进行选择, 即选择“帮助”, 然后再对应选择“关于 ”这条路, 最终方能查看到当前所使用的这款浏览器的版本号。查看浏览器版本号点开官方下载页面, 从中寻觅与自身浏览器版本相匹配的版本, 依据操作系统去进行对应的压缩包下载此操作。下载确定配置驱动路径: 当下载结束之后, 对压缩包予以解压, 接着把解压所得到的可执行文件路径给记录下来, 在后续的代码里要运用该路径去启动浏览器驱动。三、开展代码实现。1导入必要的库from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service import time上述代码, 导入了相关模块, 其中, 有用于控制浏览器的, By, 是用于指定元素定位方式的, 还有用于配置浏览器驱动的。2配置浏览器驱动并打开百度登录页面# 配置 ChromeDriver 路径需根据实际情况修改 chrome_driver_path D:/Downloads/chromedriver-win64/chromedriver.exe service Service(chrome_driver_path) driver webdriver.Chrome(serviceservice) # 打开百度登录页面 driver.get(https://passport.baidu.com/v2/?login) # 等待页面加载 time.sleep(2)在这段代码里头, 我们明确了的路径, 并且运用对象来开展配置, 接着借助.()去启动浏览器, 最终利用.get()方法把百度登录页面给打开。3切换到用户名密码登录方式因为百度登录页面默认呈现的是扫码登录界面, 所以我们得先转变到用户名密码登录方式。# 切换到用户名密码登录方式 try: switch_button driver.find_element(By.ID, TANGRAM__PSP_3__footerULoginBtn) switch_button.click() time.sleep(1) except Exception as e: print(f切换到用户名密码登录失败: {e})这里进行模拟, 用户点击“用户名登录”这一按钮, 从而切换到用户名密码登录界面。哪一个“用户名登录”所对应的 ID 呢, 可以通过网页源码查找出来。“用户名登录”对应的 ID百度账户用户名密码登录界面4输入用户名和密码# 输入用户名和密码需替换为实际的用户名和密码 username ************* password ************* try: username_input driver.find_element(By.ID, TANGRAM__PSP_3__userName) password_input driver.find_element(By.ID, TANGRAM__PSP_3__password) username_input.send_keys(username) password_input.send_keys(password) except Exception as e: print(f输入用户名和密码失败: {e})查找用户名输入框元素, 其ID是“Name”,查找密码输入框元素, 其ID是“word”。之后运用()方法, 分别往用户名输入框输入内容, 往密码输入框输入内容。查找 ID5点击登录按钮# 点击登录按钮 try: login_button driver.find_element(By.ID, TANGRAM__PSP_3__submit) login_button.click() except Exception as e: print(f点击登录按钮失败: {e})先寻得登录按钮元素, 该元素对应的ID是“it”, 此后借由click()方法来达成登录按钮的点击行为。6等待结果并关闭浏览器# 等待一段时间查看结果 time.sleep(5) # 关闭浏览器 driver.quit()等候 5 秒钟, 从而用以观察登录的结果, 最终借助.quit()把浏览器关闭。四、下载版本要与当下正在用的浏览器版本相匹配, 这是由注意事项驱动的版本匹配要求, 不然也许没办法正常开启浏览器。用户名以及密码的安全, 在实际运用时, 别把用户名和密码直接写进代码里, 能够考虑采用别的安全方式来实施存储与读取, 以此防止信息泄露。百度登录页面的结构会有变化的可能性, 这种变化可能致使元素的ID、类名等定位信息失去效用。要是出现找不到元素的错误情况, 要及时核查页面结构, 并且更新代码当中的元素定位方式。依照上述步骤, 我们达成了借助 达成百度用户名密码自动登录的功能。此项技术不但能够用于百度登录, 也能够延伸至其他支持用户名密码登录的网站, 为自动化操作创造了更多可能性。五、完整实现代码from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service import time # 配置 ChromeDriver 路径需根据实际情况修改 chrome_driver_path D:/Downloads/chromedriver-win64/chromedriver.exe service Service(chrome_driver_path) driver webdriver.Chrome(serviceservice) # 打开百度登录页面 driver.get(https://passport.baidu.com/v2/?login) # 等待页面加载 time.sleep(2) # 切换到用户名密码登录方式 try: switch_button driver.find_element(By.ID, TANGRAM__PSP_3__footerULoginBtn) switch_button.click() time.sleep(1) except Exception as e: print(f切换到用户名密码登录失败: {e}) # 输入用户名和密码需替换为实际的用户名和密码 username ************** password ************** try: username_input driver.find_element(By.ID, TANGRAM__PSP_3__userName) password_input driver.find_element(By.ID, TANGRAM__PSP_3__password) username_input.send_keys(username) password_input.send_keys(password) except Exception as e: print(f输入用户名和密码失败: {e}) # 点击登录按钮 try: login_button driver.find_element(By.ID, TANGRAM__PSP_3__submit) login_button.click() except Exception as e: print(f点击登录按钮失败: {e}) # 等待一段时间查看结果 time.sleep(5) # 关闭浏览器 driver.quit()

相关新闻

逻辑回归实战:从原理到问题排查的全流程指南

逻辑回归实战:从原理到问题排查的全流程指南

2026/9/7 22:32:25

1. 逻辑回归实战:从原理到问题排查的全流程指南在机器学习入门阶段,逻辑回归(Logistic Regression)就像是一把瑞士军刀——看似简单却功能强大。我至今记得第一次用逻辑回归模型成功预测用户流失率时的兴奋感,准确率虽…

APS三维分类法:破解生产计划优化的关键框架

APS三维分类法:破解生产计划优化的关键框架

2026/9/7 22:32:25

1. 先搞清楚:APS到底在解决什么麻烦1.1 人工排产为什么越来越顶不住做制造业的都知道,计划排产这件事,放在十年前和放在今天,完全是两个世界。以前订单相对稳定,产品型号少,产线工人靠着一张Excel表和老师傅…

麻雀搜索算法SSA优化GRU超参数:单维时序预测实战全解析

麻雀搜索算法SSA优化GRU超参数:单维时序预测实战全解析

2026/9/7 22:32:25

做时序预测这几年,我被一个问题反复折磨:模型结构不难选,难的是超参数怎么定。同一个GRU网络,学习率稍微调大一点,训练直接发散;隐藏单元数设少了,欠拟合;批量大小不匹配&#xff0c…

React Native for OpenHarmony组件开发实战:从初识到踩坑

React Native for OpenHarmony组件开发实战:从初识到踩坑

2026/9/7 23:32:28

很多朋友看到这个标题可能觉得奇怪,前两篇不是还在讲环境搭建和工程结构吗,怎么第三篇才刚开始说组件?确实,我在带着团队评估RN for OpenHarmony这套方案的时候,也是先把基础打牢,才敢去碰业务页面。这一篇…

智能工厂SCADA与厂务监控系统方案:从架构到落地全解析

智能工厂SCADA与厂务监控系统方案:从架构到落地全解析

2026/9/7 23:32:28

简介:这是一份面向制造企业、智能制造规划工程师及工业自动化从业者的方案级PPT,聚焦智能工厂中SCADA与厂务监控系统的整体建设思路。内容从智能工厂总体规划切入,系统梳理了SCADA数据采集、厂务集中监控、MES制造执行、EMS能源管理及工业大数…

GEO课程怎么选?电商、教育、企业三大行业落地避坑指南

GEO课程怎么选?电商、教育、企业三大行业落地避坑指南

2026/9/7 23:32:28

上周有个做电商的朋友找我,开口就问:“我想报个GEO课程,你帮我看看哪家靠谱?”我反问他做什么类目,他说美妆。我又问课程里有没有讲到“AI搜索的答案出口”“商品评价的结构化占比”“多渠道声量的共识度”&#xff0c…

平台工程如何重构DevOps?Harness智能发布实践解析

平台工程如何重构DevOps?Harness智能发布实践解析

2026/9/7 23:32:28

最近帮一个中型互联网团队做交付效率评估,会议室里争论最凶的问题不是该不该上K8s,也不是怎么压测,而是:“我们用不用马上把 Harness 接进来?” 有人觉得它只是一个更智能的 CI/CD 平台,有人觉得它其实就是…

Flutter购物车迁移OpenHarmony:数据驱动状态管理实战

Flutter购物车迁移OpenHarmony:数据驱动状态管理实战

2026/9/7 23:32:28

购物车这个功能,表面上看不过是“一个列表、几个加减号、一个合计金额”,可真要把它做好,却是整个电商App里最考验数据驱动与状态管理功底的地方。最近我把一套Flutter写的电商应用整体迁移到OpenHarmony,真正耗时最多的不是地图、…

5 人到 50 人团队选 AI 平台的 3 个关键转折点

5 人到 50 人团队选 AI 平台的 3 个关键转折点

2026/9/7 23:22:27

5 人到 50 人团队选 AI 平台的 3 个关键转折点 5 人 / 15-30 人 / 30-50 人用 AI 平台的方式完全不一样。同样选 Coze 5 人能用得飞起,30 人就会卡;同样选私有化 30 人划算,5 人就亏。我用 6 个客户案例,把 3 个规模段的转折点 选…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/7 20:21:46

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/7 3:44:24

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

2026/9/7 0:01:24

这次我们来看一个把目标检测算法和桌面端工具结合得很典型的项目:基于 YOLOv8 PyQt5 的麦穗稻穗检测识别系统。这个项目本身不是新概念,但它的价值在于落地形态很完整。YOLOv8 负责核心的麦穗稻穗目标检测,PyQt5 负责提供可视化的桌面交互界…

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

2026/9/7 0:01:24

简介:UL 1642是锂电池安全领域的重要规范,本中文版资源适合锂电池制造商、检测机构工程师及产品认证相关人员阅读,用于理解电池在设计与制造层面的安全要求、测试方法与合规要点。资源共1个PDF文件,压缩包大小834KB,便…

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

2026/9/7 0:01:24

简介:BS EN 13814-1:2019是英国采纳欧洲标准EN 13814-1:2019的正式版本,由BSI标准出版,重点规定游乐设施和游乐设备在设计与制造环节的安全准则,与BS EN 13814-2:2019、BS EN 13814-3:2019共同取代旧版BS EN 13814:2004。该标准面…

远程协作的工作台整理

远程协作的工作台整理

2026/9/7 3:38:07

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/4 7:42:10

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/6 23:21:51

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…