Python RPA简单开发实践(selenium登陆浏览器自动输入密码登陆)

news/2024/4/27 21:31:05/文章来源:https://blog.csdn.net/eighters/article/details/136937114

打开csdn博客,简单版

class BS:def __init__(self, url):self.url = url# self.password = password# self.username = usernamedef login_url(self):from selenium import webdriver# 不自动关闭浏览器option = webdriver.ChromeOptions()option.add_experimental_option("detach", True)# 注意此处添加了chrome_options参数driver = webdriver.Chrome(options=option)driver.get(self.url)person = BS("https://www.csdn.net/")
person.login_url()

进阶版

自动化输入密码登陆堡垒机

定位元素信息

例如定位用户名的元素信息,视图如下:

 所以可以通过id属性,获取到的用户名元素是“ user”

代码
import time
from selenium import webdriver
from selenium.webdriver.common.by import Byclass Browser:def __init__(self, url, username, password, element_name, element_password, element_login):self.url = urlself.password = passwordself.username = usernameself.element_name = element_nameself.element_password = element_passwordself.element_login = element_logindef login_url(self):# 不自动关闭浏览器option = webdriver.ChromeOptions()option.add_experimental_option("detach", True)# 注意此处添加了chrome_options参数driver = webdriver.Chrome(options=option)driver.get(self.url)# 获取访问页面时的”高级“ 和 ”继续访问“的页面元素按钮advanced_button = driver.find_element(by=By.ID, value="details-button")advanced_button.click()proceed_button = driver.find_element(by=By.ID, value="proceed-link")proceed_button.click()# 通过id查找用户名和密码输入框,获取元素driver.find_element(by=By.ID, value=self.element_name).send_keys(self.username)driver.find_element(by=By.ID, value=self.element_password).send_keys(self.password)# 获取登陆按钮的页面元素login_button = driver.find_element(by=By.ID, value=self.element_login)login_button.click()time.sleep(5)if __name__ == "__main__":person = Browser("https://1.1.1.1/fort/login", "your_username", "your_pasword", "用户名属性名", "密码属性名", "登陆属性名")person.login_url()H3C = Browser("https://2.2.2.2/login.html", "your_username", "用户名属性名", "密码属性名", "登陆属性名")H3C.login_url()
返回:

就是实际的浏览器自动登陆,模拟了人工鼠标点击和输入用户密码的方式

注意事项:

1.针对不同的url,打开浏览器的方式是固定的

2.需要确认:

        访问https时的 “高级”按钮

        ”继续访问“ 按钮

        “用户名“和”密码“按钮

        “点击登陆”的按钮属性要确保匹配能找的到就可以了

更多详细的用法可以参考这篇博客,写的很详细:

selenium用法详解【从入门到实战】【Python爬虫】【4万字】_selenium用法详解4万字csdn-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1026715.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++从入门到精通——命名空间

命名空间 前言一、命名空间引例什么是命名空间 二、命名空间定义正常的命名空间定义嵌套的命名空间多个相同名称的命名空间 三、命名空间使用加命名空间名称及作用域限定符使用using将命名空间中某个成员引入使用using namespace 命名空间名称引用引用命名空间和引用头文件有什…

Zookeeper的系统架构

先看一张图: ZooKeeper 的架构图中我们需要了解和掌握的主要有: 1: ZooKeeper分为服务器端(Server) 和客户端(Client),客户端可以连接到整个ZooKeeper服务的任意服务器上&#xff…

Redis高级面试题-2024

说说你对Redis的理解 Redis是一个基于Key-Value存储结构的开源内存数据库,也是一种NoSQL数据库。 它支持多种数据类型,包括String、Map、Set、ZSet和List,以满足不同应用场景的需求。 Redis以内存存储和优化的数据结构为基础,提…

java反射应用:调用一个公共方法来间接调取其它各类方法

1.公共方法里用反射 2.通过反射调取进来的其它方法里,该方法想要调用另一个beanA来查询数据库,用Autowired 是不行的 因为beanA载入不了。这时需要利用上下文对象来获取beanA,来实现该方法里再查库的目的。 // / 方法4 import org.springframework.con…

Redis进阶(持久化、复制、集群、多线程、缓存)

Redis进阶 1.Redis持久化1.1 什么是Redis持久化?为什么需要持久化?1.2 Redis持久化方式——RDB(Redis DataBase)1.2.1 什么是RDB?1.2.2 备份文件位置1.2.3 触发RDB的方式1.2.3.1 自动触发1.2.3.2 手动触发1.2.3.3 其他触发方式 1.2.4 RDB优缺…

人工智能与大数据、云计算等其他技术的关联和区别是什么?

人工智能(AI)、大数据和云计算是当今科技领域的三大热门技术,它们之间存在密切的关联,但也有一些明显的区别。以下是它们之间的关联和区别: AI-321 | 专注于AI工具分享的网站 AI工具集 | 人工智能工具箱 | 全球顶尖AI…

hcia datacom课程学习(3):http与https、FTP

1.超文本传输协议:http与https (1)用来访问www万维网。 wwwhttp+html+URLweb (2)它们提供了一种发布和接受html界面的方法:当在网页输入URL后,从服务器获取html文件来…

leetcode每日一题 2642.设计可以求最短路径的图

题目详情 给你一个有 n 个节点的 有向带权 图,节点编号为 0 到 n - 1 。图中的初始边用数组 edges 表示,其中 edges[i] [fromi, toi, edgeCosti] 表示从 fromi 到 toi 有一条代价为 edgeCosti 的边。 请你实现一个 Graph 类: Graph(int n, i…

MySQL面试汇总(一)

MySQL 如何定位慢查询 如何优化慢查询 索引及其底层实现 索引是一个数据结构,可以帮助MySQL高效获取数据。 聚簇索引和非聚簇索引 覆盖索引 索引创建原则 联合索引

【matlab程序】海洋资料的获取与分析--AO/NAO

海洋资料的获取与分析 相关数据代码等资料已上传入群中 海洋资料下载和介绍 AO和NAO指数均取自美国气候预测中心(Climate Prediction Center, CPC)发布的月平均指数,时间跨度为1950-2022年。由于AO和NAO在冬季最强,因此本文选取…

基于51单片机一氧化碳(CO)浓度检测报警仿真LCD显示( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机一氧化碳(CO)浓度检测报警仿真LCD显示( proteus仿真程序设计报告原理图讲解视频) 基于51单片机一氧化碳浓度检测报警仿真 1. 主要功能:2. 讲解视频:3. 仿真4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单&&下载链…

栅格地图路径规划:基于小龙虾优化算法(Crayfsh optimization algorithm,COA)的机器人路径规划(提供MATLAB代码)

一、机器人路径规划介绍 移动机器人(Mobile robot,MR)的路径规划是 移动机器人研究的重要分支之,是对其进行控制的基础。根据环境信息的已知程度不同,路径规划分为基于环境信息已知的全局路径规划和基于环境信息未知或…

深度学习(三)vscode加jupyter notebook插件使用

0.前言 哎呀,我本次的实验是在新电脑上使用的,之前的笔记本上的环境什么的我都是很久以前弄好了的,结果到了新电脑上我直接忘了是该怎么配的了,不过万幸,花了点时间,查查补补,现在总算是可以了。…

C# 读取二维数组集合输出到Word预设表格

目录 应用场景 设计约定 范例运行环境 配置Office DCOM 实现代码 组件库引入 核心代码 DataSet转二维数组 导出写入WORD表格 调用举例 小结 应用场景 存储或导出个人WORD版简历是招聘应用系统中的常用功能,我们通常会通过应用系统采集用户的个人简历信息…

赛氪网亮相中国人工智能产业发展联盟会议,共筑赛事生态新篇章

2024年3月14日至15日,备受瞩目的中国人工智能产业发展联盟(AIIA)第十一次全体会议在海南海口盛大召开。作为人工智能领域的重要交流与合作平台,此次会议吸引了300余位联盟成员单位代表齐聚一堂,共襄盛举。在这场人工智…

04. 【Android教程】Android 工程解析及使用

在上一章中已经搭建好了 Android 开发环境,本章我们将一起通过 Eclipse 创建我们的第一个 Android App。 1. 创建 Android 工程 首先打开 Eclipse,在菜单栏依次选择“New” -> “Android App Project”。如果是第一次创建,可能没有“Andr…

Redis项目实战

本文用用代码演示Redis实现分布式缓存、分布式锁、接口幂等性、接口防刷的功能。 课程地址:Redis实战系列-课程大纲_哔哩哔哩_bilibili 目录 一. 新建springBoot项目整合Redis 二. Redis实现分布式缓存 2.1 原理及好处 2.2 数据准备 2.3 Redis实现分布式缓存…

软件杯 深度学习 机器视觉 人脸识别系统 - opencv python

文章目录 0 前言1 机器学习-人脸识别过程人脸检测人脸对其人脸特征向量化人脸识别 2 深度学习-人脸识别过程人脸检测人脸识别Metric Larning 3 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目…

stm32之GPIO寄存器

文章目录 1 背景2 GPIO寄存器的类型2.1 端口配置寄存器2.2 设置/清除寄存器和位清除寄存器 3 总结 1 背景 C51单片机在进行数据的输入输出时,是直接操作与外部引脚关联的内部寄存器,例如,当设置P2_1为0时,就是将外部引脚的P21引脚…

Spark DAG

Spark DAG 什么是DAG DAG 是一组顶点和边的组合。顶点代表了 RDD, 边代表了对 RDD 的一系列操作。 DAG Scheduler 会根据 RDD 的 transformation 动作,将 DAG 分为不同的 stage,每个 stage 中分为多个 task,这些 task 可以并行运…