多线程登陆

# -*- coding: utf-8 -*- # @Time : 2019/1/3 10:03 # @Author : Philly # @File : multi_login.py # @Description: 多用户并发登录 from selenium import webdriver import threading from time import sleep from selenium.webdriver.common.action_chains import ActionChains import random from selenium.webdriver.common.keys import Keys def login(user_name, password, barcode): # 设置chromedriver具体访问地址 chromedriver = r"C:Program Files (x86)GoogleChromeApplicationchromedriver.exe" # browser = webdriver.Chrome(executable_path=chromedriver) browser = webdriver.Chrome(executable_path=chromedriver) # 设置浏览器窗口最大化 browser.maximize_window() # 谷歌浏览器访问物流地址 browser.get('http://khlis.yktest.com/logistics/home') sleep(2) browser.find_element_by_id('user_name').send_keys(user_name) browser.find_element_by_id('password').send_keys(password) browser.find_element_by_id('editBtn').click() sleep(3) print(user_name + '登录了') ml = browser.find_element_by_xpath('//*[@id="site-menu"]/div[1]') ActionChains(browser).move_to_element(ml).perform() sleep(2) gl = browser.find_element_by_xpath('//*[@id="site-menu"]/div[2]/ul/li[1]/span') ActionChains(browser).double_click(gl).perform() sleep(1) lr = browser.find_element_by_link_text('标本录入').click() sleep(3) pp = browser.find_element_by_xpath('//*[@id="sitt"]/div[1]/div[3]/ul') ActionChains(browser).move_to_element(pp).perform() browser.find_element_by_id('siadd').send_keys(Keys.F8) browser.find_element_by_id('barcode').send_keys(barcode) yy = browser.find_element_by_id('comboText3') yy.clear() yy.send_keys('医院') sleep(1) yy.send_keys(Keys.ENTER) browser.find_element_by_id('subject_name').send_keys('xingming') xb = browser.find_element_by_xpath('//*[@id="form1"]/div[1]/div/div[1]/div/div[1]/div[5]/div[2]/span/input[1]') xb.send_keys('男') xb.send_keys(Keys.SPACE) sleep(1) xb.send_keys(Keys.ENTER) sleep(1) browser.find_element_by_xpath('//*[@id="form1"]/div[1]/div/div[1]/div/div[1]/div[6]/div[2]/span/input[1]').send_keys('32') xm = browser.find_element_by_id('comboText10') xm.clear() xm.send_keys('离子') sleep(1) xm.send_keys(Keys.ENTER) sleep(1) browser.find_element_by_id('sisave').click() if __name__ == '__main__': user_barcode = { 'gl01': '201901038600', 'wl001': '201901038300', 'wl002': '201901038200' } threads = [] # 定义一个线程池 for thr in user_barcode.keys(): th1 = threading.Thread(target=login, args=(thr, '123abc', user_barcode[thr])) # 创建线程 threads.append(th1) # th2 = threading.Thread(target=login, args=('wl001', '123abc')) # threads.append(th2) for th in threads: th.start() # 启动线程 th.join() # 等待线程执行完成 print('all have end.')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值