我是靠谱客的博主 拼搏大侠,最近开发中收集的这篇文章主要介绍【自动化】Python脚本selenium库完成自动创建汇联易账号Python脚本selenium库完成自动创建汇联易账号一、背景二、工具使用四、汇联易部分截图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 panduanhuilian
driver = 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库完成自动创建汇联易账号Python脚本selenium库完成自动创建汇联易账号一、背景二、工具使用四、汇联易部分截图的全部内容,希望文章能够帮你解决【自动化】Python脚本selenium库完成自动创建汇联易账号Python脚本selenium库完成自动创建汇联易账号一、背景二、工具使用四、汇联易部分截图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部