#针对tableu 撰写的大数据框架

#tesseract 识别简单的验证码

不多说  直接上代码

 # coding:utf-8
from selenium import webdriver
from PIL import Image
import requests
from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys # 键盘按键操作 driver = webdriver.Chrome(r'C:\chromedriver\chromedriver.exe')
driver.get('http://IP+端口/jeecg/') driver.save_screenshot('3.png')
element = driver.find_element_by_id("randCodeImage") left = element.location['x']
top = element.location['y']
right = element.location['x'] + element.size['width']
bottom = element.location['y'] + element.size['height'] im = Image.open('3.png')
im = im.crop((left, top, right, bottom))
im.save('3.png') # bdbutton
import pytesseract
from PIL import Image text = pytesseract.image_to_string(Image.open('3.png'))
print(text) # 获取输入用户名的地方
input_loginName = driver.find_element_by_id('userName')
# 清掉原先的内容
input_loginName.clear()
# 输入用户名
input_loginName.send_keys('用户名')
# 获取密码
input_pwd = driver.find_element_by_id('password')
# 输入密码
input_pwd.send_keys('密码')
# 获得验证码
input_yanzhengma = driver.find_element_by_id('randCode')
# 输入验证码
input_yanzhengma.send_keys(text)
driver.maximize_window()
# 输入回车
input_pwd.send_keys(Keys.ENTER)
import time time.sleep(2)
# driver.switch_to.window(driver.window_handles[0])
####鼠标移动
import pyautogui # pyautogui.doubleClick(111,232)#移动到某个点进行双击
pyautogui.click(572, 419) # 移动到某个点进行点击
pyautogui.click(560, 490)
pyautogui.click(975, 527, duration=1) time.sleep(3)
# 70 293 医院动态
pyautogui.click(70, 275)
time.sleep(2)
# 100 335 实时
pyautogui.click(100, 335)
time.sleep(4)
# 100 428 实时动态
pyautogui.click(100, 428) time.sleep(10) # 600 274
pyautogui.click(600, 274)
###
# 按下滚动轴 pyautogui.keyDown('pagedown')
pyautogui.keyDown('pagedown')
pyautogui.keyDown('pagedown') # 449 819 点击刷新
pyautogui.click(449, 819, duration=3)
time.sleep(20)
pyautogui.click(449, 819, duration=3)

python模拟大数据登陆的更多相关文章

  1. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  2. 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素

    package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...

  3. 【Python开发】Python 适合大数据量的处理吗?

    Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...

  4. 为什么说Python 是大数据全栈式开发语言

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...

  5. python学习--大数据与科学计算第三方库简介

    大数据与科学计算  库名称 简介 pycuda/opencl GPU高性能并发计算 Pandas python实现的类似R语言的数据统计.分析平台.基于NumPy和Matplotlib开发的,主要用于 ...

  6. 菜鸟学python之大数据的初认识

    这次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2639 1.这些分析所采用数据来源是什么? 国家数据库:中国铁路 ...

  7. Twitter数据挖掘:如何使用Python分析大数据

    我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline()函数.下面是更新后的代码(注意,在代码的顶部应该保持认证和AP ...

  8. Twitter数据挖掘:如何使用Python分析大数据 (3)

    让我们来拉取Twitter账号@NyTimes的最近20条微博. 我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline ...

  9. Python处理大数据

    起因 Python处理一下数据,大概有六七个G,然后再存到另外一个文件中,单线程跑起来发现太慢了,数据总量大概是千万行的级别,然后每秒钟只能处理不到20行--遂想怎么提高一下速度 尝试1-multip ...

随机推荐

  1. input.nextLine()的注意事项

    若在input.nextInt()和input.nextDouble()后使用input.nextLine(),要先加一个input.nextLine()进行换行

  2. python安装代码包提示缺少 VC++ 14 控件的处理方式

    下载如下文件,然后安装 http://go.microsoft.com/fwlink/?LinkId=691126

  3. Linux系统安装与初用

    1.结合实验尝试,并查阅资料,总结在实验准备中提出的7个问题. (1).Linux的发行版本.内核版本:二者区别与联系. 核心版本主要是Linux的内核,发行版本是各个公司推出的版本,他们与核心版本是 ...

  4. learn-ES6基础语法1-let&const

    1.let ① 使用let声明的变量,所声明的变量只能在命令所在的代码块内有效. 同样在代码块内的a和c,c在代码块内就可以输出,a在代码块外就找不到了. ② 使用let命令声明的变量在域解析的时候不 ...

  5. linux ps 按进程消耗内存资源大小排序

    linux ps 关于sort的解释 --sort spec specify sorting order. Sorting syntax is [+|-]key[,[+|-]key[,...]] Ch ...

  6. 信号报告-java

    无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength) 信号强度即大小. 其中R位于报告第一位,共分5级,用1-5数字表示. 1-- ...

  7. 不使用循环或递归判断一个数是否为3的幂(leetcode 326)

    326. Power of ThreeGiven an integer, write a function to determine if it is a power of three. Follow ...

  8. Podfile

    platform :ios, "9.0" target "APPName" dopod 'AFNetworking'pod 'SVProgressHUD'pod ...

  9. conts、var 、let的区别

    1.const定义的变量不可以直接修改,通过 this.a = 'kkk' 进行修改, 而且必须初始化. 2.var定义的变量可以修改,如果不初始化会输出undefined 3.let是块级作用域,函 ...

  10. day10 参数args kwargs 作用域

    函数参数/作用域/args/kwargs 1.参数 1.1参数基本知识 任意个数 任意类型 func("1",True) 1.2位置传参(调用函数并传入参数) def func(a ...