Redian新闻
>
selenium自动化登录idaas

selenium自动化登录idaas

科技

新钛云服已为您服务1473




说明:

后台网站对接阿里云的idaas后,原来的用户都需要导入到idaas中,好在idaas提供导入用户的功能,但是后台要对这些用户授权前,这些用户都必须登录idaas且首次访问后台页面。我们这边大概需要操作150多个用户,如果人工手动操作登录,怕是一两个小时也完不成。

为了避免重复且浪费时间的工作,我写了一个python脚本,实现批量自动登录idaas并访问后端网站


操作步骤:

一、安装chromedriver

1、查看chrome游览器的版本

下载之前查看自己电脑chrome游览器的版本 ,在设置中点击关于Chrome即可查看,我这边的版本是101.0.4951.41  。

△查看谷歌浏览器版本

2、下载chromedriver

打开下载链接:http://chromedriver.storage.googleapis.com/index.html ,选择和chrome游览器相同或相近的版本,否则无法调用chrome游览器。我这边选择的是与我浏览器最相近的101.0.4951.15

查找相近版本

选择与自己系统相符的安装包进行下载,我是windows系统下载chromedriver_win32.zip 。

选择与系统相对应的包

3、记住安装路径

下载下来的安装包直接解压即可,记住安装路径,我的路径C:\Users\15418\Desktop\chromedriver.exe。

安装路径

二、单用户登录

1、打开/关闭谷歌浏览器

#coding=utf-8
#使用selenium库中的webdriver工具
from selenium import webdriver
#打开浏览器,这里填写chromedriver的路径,才能打开浏览器
driver = webdriver.Chrome(executable_path=r"C:\Users\15418\Desktop\chromedriver.exe")
#关闭浏览器
driver.quit()

2、访问sso页面

#使用get的方式访问sso页面
driver.get("https://sso.xxx.com/")

idaas登录界面

3、找到输入框及登录按钮的前端代码

访问sso页面后按F12,在Elements中找到账户名的输入框。鼠标移动到输入框那一行代码,上面的输入框就会出现蓝色阴影提示。在用户名输入框代码中,input类型即为输入框,它的class名称为"ivu-input ivu-input-default",这些信息会在输入用户名中用到。

△用户名

找到密码输入框的前端代码,同样input类型即为输入框,他的类型typepassword。做的这些操作都是为了让代码找到密码输入框在哪里,具有input类型,且typepassword的就只有密码输入框,为后续自动输入密码做准备。

登录

同理,找到提交按钮的特性:button按钮类型、class名称为“ivu-btn ivu-btn-primary ivu-btn-long”。

密码

4、单个用户实现登录

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
#打开浏览器
driver = webdriver.Chrome(executable_path=r"C:\Users\15418\Desktop\chromedriver.exe")
#访问sso页面
driver.get("https://sso.xxx.com/")
#隐式等待,等页面元素稳定后就定位
driver.implicitly_wait(30)
#找到用户名输入框并输入用户名
driver.find_element(By.CSS_SELECTOR, 'input[class="ivu-input ivu-input-default').send_keys("此处填用户名")
#找到密码输入框并输入密码
driver.find_element(By.CSS_SELECTOR, 'input[type="password"').send_keys("此处填密码")
#找到登录按钮并登录
driver.find_element(By.CSS_SELECTOR, 'button[class="ivu-btn ivu-btn-primary ivu-btn-long"').click()
#关闭浏览器
driver.quit()


三、首次访问应用服务

登录idaas后需要第一次访问下应用服务,应用服务才能收到是哪些用户进而对这些用户授权,所以需要在登录的状态下进行访问。

#找到应用服务并点击进行访问
driver.find_element(By.CSS_SELECTOR,'a[href="/api/xxx"').click()

△访问应用服务

四、批量登录并访问应用服务

上面讲述的是单个用户的登录情况,现在我们需要批量登录,先创建一个文件里面写着用户名用换行分割(如下图所示),由于我们的初始密码都是统一的,所以我直接在代码中写死了,一个用户登录访问完成后紧接着下一个用户登录,直至最后一个用户完成登录访问。

· 完整代码:

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.by import By
with open(r'name.txt','r',encoding='utf8')as read_f:
  for line in read_f:
      username=line.strip("\n")
      password="xxx"
      driver = webdriver.Chrome(executable_path=r"C:\Users\15418\Desktop\chromedriver.exe")
      driver.get("https://sso.xxx.com/")
      driver.implicitly_wait(30)
      driver.find_element(By.CSS_SELECTOR, 'input[class="ivu-input ivu-input-default').send_keys(username)
      driver.find_element(By.CSS_SELECTOR, 'input[type="password"').send_keys(password)
      driver.find_element(By.CSS_SELECTOR, 'button[class="ivu-btn ivu-btn-primary ivu-btn-long"').click()
      driver.find_element(By.CSS_SELECTOR,'a[href="/api/xxx"').click()
      driver.quit()

至此,使用selenium批量自动登录并访问应用服务完成。


了解新钛云服

新钛云服荣膺第四届FMCG零售消费品行业CIO年会「年度数字化服务最值得信赖品牌奖」

新钛云服三周岁,公司月营收超600万元,定下百年新钛的发展目标

当IPFS遇见云服务|新钛云服与冰河分布式实验室达成战略协议

新钛云服正式获批工信部ISP/IDC(含互联网资源协作)牌照

深耕专业,矗立鳌头,新钛云服获千万Pre-A轮融资

新钛云服,打造最专业的Cloud MSP+,做企业业务和云之间的桥梁

新钛云服一周年,完成两轮融资,服务五十多家客户

上海某仓储物流电子商务公司混合云解决方案


往期技术干货

Kubernetes扩容到7,500节点的历程

低代码开发,全民开发,淘汰职业程序员!

国内主流公有云VPC使用对比及总结

万字长文:云架构设计原则|附PDF下载

刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

Ceph OSD故障排除|万字经验总结

七个用于Docker和Kubernetes防护的安全工具

运维人的终身成长,从清单管理开始|万字长文!

OpenStack与ZStack深度对比:架构、部署、计算存储与网络、运维监控等

什么是云原生?

IT混合云战略:是什么、为什么,如何构建?


点👇分享

戳👇在看

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
独立日烟花、游行、派对还有交响乐团!Seattle、Bellevue、Sammamish、Kirkland等地实时最新:美国移民局再次自动延长工卡540天,此前180天自动延长后继续可以合法工作,最长可达18个月!工作笔记:The Synergy a Seller Could Provide a Buyer[模型] LEGO No.76240 蝙蝠车复刻版 BATMOBILE TUMBLERShanghai Spring/Summer 2022: The Season That Never Was抛弃妻子儿女的“海不归”Chinese Band Uses Lockdown Metaphors as Tour Titles4.30 | 2022 NASU征服群山系列活动①- Middlesex Fells中招后可不轻松,现在七天了还是阳性Chinese Online Vendors Help Users Hide Their IP Address Location布局生命科学前沿智能自动化,「镁伽」获3亿美元C轮融资|36氪独家疫情中的埃及行:(八/终)辉煌又沉重的金字塔八髎穴的功效Homeless Delivery Workers Are Surviving on Free Takeout明尼觅食记|来自日本的麻薯甜甜圈登录明尼苏达啦!Soga Mochi Donut绝对不死甜~JS逆向案例:破解登录密码使用自动化时的五个常见错误 | Linux 中国在云端自动化设置和交付虚拟机 | Linux 中国早报 | Tod's中国第一季度收入增长9%;SELECTED或将退出中国市场;去年全球奢侈品牌55%的新增门店在中国径硕科技:基于全渠道营销自动化,助力药企降本增效自动化渗透测试工具开发实践Chinese ‘Harry Potter’ Fans All Ears for First Audiobook ReleaseChinese Telecoms Block Incoming Int’l Calls, Texts to Fight Scam早报 | Michael Kors母公司去年收入大涨39%;维密过去12个月利润超10亿美元;Diesel任命新首席执行官一次 Kafka 导致的 Sentry 无法处理 MiniDump 问题分析啥?San Jose又批准了6个新的Homeless Shelter?AmEx Delta SkyMiles Reserve Business 商业信用卡110k 开卡奖励;退役波音747限量版卡面年中大促!SSENSE现有 Fear of God Essentials 22春夏大童降价,低至5折!短T仅$35!SELECTED关闭所有门店,杰克琼斯还会远吗AmEx Delta SkyMiles Reserve 信用卡【100k 开卡奖励;由退役波音747制作的限量版卡面】英国今夏最热门音乐节盘点!Adele、碧梨都在,阵容堪比Coachella!As Long-Distance Travel Plummets, China Vacations Close to Homenpj Flexible Electronics: 激光诱导石墨烯柔性可拉伸电子器件「简报」SCS 校友将农业与自动化技术结合以简化食品生产;Sudoc 荣获快速发展公司的世界变革理念奖采石场
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。