Python脚本selenium库完成自动创建汇联易账号

一、背景

二、工具使用

三、代码

四、汇联易部分截图


一、背景

汇联易账号创建非常麻烦,虽然支持用excel表导入,但是需要银行卡等信息,平常创建只使用部门,姓名,电话等即可创建。目标:使用python的selenium模仿人工操作网页的方式,借助excel批量导入员工。

本人属于刚学python,若有不足请多多指教。

二、工具使用

Python 3.10.6

Selenium 4.4.0

汇联易 2.20.3 版本不同会导致标签元素不通,请逐步进行调试

Webdriver,我在这使用的是chrome 1.0.5以后的版本,下载地址。

三、代码

一个文件为主方法,另一个文件为判断部门的方法

csv第一行就需要填写员工的信息,从第一列至最后一列分别为:工号、姓名、邮箱、金蝶识别码、部门、部门小组、岗位、手机号。

huilianyi.py 主方法

"""自动创建汇联易的账号"""from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
import csv
import panduanhuiliandriver = webdriver.Chrome(r'D:\chromedriver.exe') #webdriver的位置
driver.maximize_window()
driver.get("https://xxxx.huilianyi.com/")
data_set = r'D:\userdata.csv'  ##员工信息excel
sleep(1)' 登录 '
driver.find_elements(By.CLASS_NAME, 'ant-tabs-tab')[-1].click()
driver.find_element(By.CLASS_NAME, 'user-name').send_keys('12234') #平台账号
driver.find_element(By.CLASS_NAME, 'password').send_keys('lalalala') #密码
driver.find_element(By.CLASS_NAME, 'ant-checkbox-input').click()
driver.find_element(By.CLASS_NAME, 'ant-btn-lg').click()
sleep(5)' 进入员工界面 '
driver.find_elements(By.CLASS_NAME, 'ant-tabs-tab')[5].click() #系统管理
sleep(1)
driver.find_element(By.ID, 'user-permission').click() #用户与权限
sleep(1)
driver.find_element(By.ID, 'person-manage').click() #员工
sleep(1)reader = csv.reader(open(data_set, encoding='utf-8'))
rows = [row for row in reader]for i in rows:print(i)driver.implicitly_wait(1)' 新建员工 'driver.find_elements(By.CLASS_NAME, 'ant-btn')[2].click()  # 新建员工sleep(1)' 输入工号等基本信息 'driver.find_element(By.ID, 'employeeID').send_keys(i[0])  # 工号driver.find_elements(By.CLASS_NAME, 'language-input')[-1].send_keys(i[1])  # 姓名driver.find_element(By.ID, 'email').send_keys(i[2])  # 邮箱driver.find_element(By.ID, '052c3195-7733-4d24-9c7a-85161df0fe0d').send_keys(i[3])  # 唯一识别码driver.find_element(By.ID, 'mobile').send_keys(i[7])  # 手机sleep(6)' 点击新增 'add = driver.find_elements(By.CLASS_NAME, 'ant-btn')[9] #悬浮窗新增driver.execute_script("arguments[0].scrollIntoView();", add) #拉到最下面sleep(1)driver.find_elements(By.CLASS_NAME, 'ant-btn')[9].click() ##点击新增sleep(1)' 设置公司 'driver.find_elements(By.CLASS_NAME, 'ant-select-selection--multiple')[4].click() #选择公司sleep(1)driver.find_element(By.CLASS_NAME, 'ant-radio-input').click() ##选择启源sleep(1)driver.find_elements(By.CLASS_NAME, 'ant-btn-primary')[-1].click() ##确认' 设置级别 'driver.find_elements(By.CLASS_NAME, 'ant-select-selection--multiple')[-1].click() #选择级别sleep(1)driver.find_elements(By.CLASS_NAME, 'ant-radio-input')[0].click() ##选择第一个按钮sleep(1)driver.find_elements(By.CLASS_NAME, 'ant-btn-primary')[-1].click() ##确认' 选择职位 'driver.find_element(By.ID, 'position').send_keys(i[6])  # 职位' 选择部门 'driver.find_elements(By.CLASS_NAME, 'hover-input')[-1].click() #选择部门sleep(1)driver.find_element(By.CLASS_NAME, 'ant-table-row-expand-icon').click() ##点开小箭头sleep(1)panduanhuilian.check_name(i[4], driver, i[5]) ##选择部门driver.find_elements(By.CLASS_NAME, 'ant-btn-primary')[-1].click() ##确认sleep(2)driver.find_elements(By.CLASS_NAME, 'ant-btn-primary')[-1].click() ##确认sleep(1)driver.find_elements(By.CLASS_NAME, 'ant-btn')[10].click() ##最后的保存sleep(10)driver.find_element(By.ID, 'person-manage').click()  # 返回员工界面sleep(5)

panduanhuilian.py 为判断部门的方法,部门比较难选择,单独拿出来自定义操作。

from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
import csv## a为部门参数,b为driver参数,c为小组参数
def check_name(a, b, c):if a == "xxxx部门" or a == "xxxx部门" : ##这里判断的是不含小组的部门b.find_elements(By.XPATH, "//*[text()='" + str(a) + "']")[-1].click()  ##点击指定部门elif a == "xxx部" or a == "xxxx部" : #这里判断的是有小组的部门,数组里面的数字3,4需要自己调试if a == "xxx部":b.find_elements(By.CLASS_NAME, 'ant-table-row-expand-icon')[3].click()  ##点开小箭头sleep(1)b.find_elements(By.XPATH, "//*[contains(text(), '" + str(c) + "')]")[-1].click()  ##点击指定部门elif a == "xxxx部":b.find_elements(By.CLASS_NAME, 'ant-table-row-expand-icon')[4].click()  ##点开小箭头sleep(1)b.find_elements(By.XPATH, "//*[contains(text(), '" + str(c) + "')]")[-1].click()  ##点击指定部门else:print("无此部门")

四、汇联易部分截图

【自动化】Python脚本selenium库完成自动创建汇联易账号相关推荐

  1. python脚本实现GNSS数据自动下载

    python脚本实现GNSS数据自动下载 本文代码思路参考了博文[https://blog.csdn.net/weixin_39672353/article/details/1098525] 在此基础 ...

  2. android 加固服务器,Python 脚本构建Android APK 自动加固、打渠道包并上传服务器

    Python 脚本构建Android APK 自动加固.打渠道包并上传服务器 常规流程 打出原始apk 使用乐固工具加固并打出响应渠道包 将生成的渠道包上传对应服务器,生成推广链接 因为每一步都需要人 ...

  3. python脚本连接交换机,自动执行命令。

    python脚本连接交换机,自动执行命令. python脚本连接交换机,自动执行命令,查询交换机端口的学习mac地址,自动写入txt中.设置定时器,每xx秒执行一次,自动对比上次返回结果,TXT中保存 ...

  4. python 脚本撞库国内“某榴”账号

    其实日常生活中我们的用户名和密码就那么几个,所以这给撞库带来了可能,本文主要给出python脚本撞库的一点粗浅代码.这里只讨论技术本生,代码中某榴的地址也已经改掉,避免被管理员误解禁言等发生,谢谢大家 ...

  5. python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法

    主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...

  6. 通过Python使用turtle库绘制自动伸长变形的丁丁

    通过Python使用turtle库绘制自动伸长变形的丁丁 目录 通过Python使用turtle库绘制自动伸长变形的丁丁 导入库 绘制 结果展示 在我们学习过 turtle这样的第三方库之后,我们总是 ...

  7. python利用selenium库(WEB自动化)完成智慧树自动刷题

    这里用的是Chrome浏览器,使用selenium库是需要先安装Chrome的驱动 分析: selenium库能实现网页自动操作,智慧树每次学习完一小节后都需要点击下一节视频.这里我检测了视频的总播放 ...

  8. python自动化简历_python+selenium实现简历自动刷新的示例代码

    本文用到的文件的下载地址 百度网盘链接: https://pan.baidu.com/s/1tmpdEfAZKff5TOMAitUXqQ 提取码: e6at 1 安装Python 和 selenium ...

  9. python脚本——selenium自动化执行一些网页上的操作

    文章目录 一.说明 二.代码 三.用法总结 一.说明 通过python的selenium模块,自动化执行一些网页上的重复的无聊的工作. 二.代码 #! /usr/bin/python3.6 from ...

  10. 天猫商城自动化python脚本(仅供初学者学习使用)

    作者:Eason_LYC 悲观者预言失败,十言九中. 乐观者创造奇迹,一次即可. 一个人的价值,在于他所拥有的.可以不学无术,但不能一无所有! 技术领域:WEB安全.网络攻防 关注WEB安全.网络攻防 ...

最新文章

  1. 在电脑上实现手机app抓包
  2. 加载XML 添加删除节点
  3. SUN PORTAL 7.2安装在windows 的问题解决办法!
  4. [转]Android有效解决加载大图片时内存溢出的问题
  5. django-正向查询与反向查询演练-查询集的三种状态
  6. java 动态执行代码_java中动态执行一段代码
  7. SQL注入-DNSlog注入(手工加工具使用)
  8. 高性价比蓝牙耳机推荐,五款便宜又好用的真无线蓝牙耳机
  9. Latex之页边距设置
  10. Linux下使用 ./ 来运行可执行文件
  11. 基于MODIS数据的滁州市冬小麦长势遥感监测研究
  12. J Infect (IF 38) | 韩国中央大学贾保磊等揭示人口腔微生物组中编码羊毛硫抗生素链球菌是肝脏疾病的潜在风险因子...
  13. uni-app KeyChain(钥匙串),保存的信息不会因App被删除而丢失(ios)
  14. HTML中的超链接(a元素)用法详解
  15. HTTP 204响应码【转】
  16. XenCenter添加ISO镜像库
  17. 【Jmeter】并发测试接口
  18. html的爱恨情仇—部署HTMl5结婚微信电子请柬(含源码)
  19. 题8.6:写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
  20. 各电子商务公司的贷款资金来源

热门文章

  1. 深度学习模型---稀疏编码 Sparse Coding
  2. matlab倒立摆不同初始条件,倒立摆MATLAB建模
  3. 什么是U盘量产工具?量产基本知识
  4. 屏幕画图工具Pointofix
  5. UltraISO(软碟通) v8.2.0.1669 十分不错,感觉比WinISO强大些
  6. CouchBase简单介绍
  7. CPU基础---设计一个8位的并行加法器
  8. 什么是数据抽取 --全量抽取、增量抽取
  9. buuctf [GhostScript]CVE-2018-16509
  10. 怎么批量遮挡视频素材上的平台水印