python 自动化偷懒的四个实用操作

自动化有助于解放人们的工作。不过说实话,即使对简单的任务自动化也需要时间和大量的依赖关系管理,而这可能非常复杂。

Python对于几乎所有东西的交互都很友好。从发送HTTP请求、与API交互、到加载和管理数据库都是如此。因此Python是自动化的绝佳选择。

以下是用Python实现自动化的四项简单操作,可以帮助完成各种工作流程和项目。

1.自动移动鼠标,以便Skype / Lynk显示你在工作中处于活动状态

想象一下,在过去十分钟内,你一直在浏览最喜爱的社交媒体应用中的新闻。突然,Lynk软件中的活动符号变黄,这表明你没有工作,也没有参加会议。

这时你爱管闲事的老板走了过来,轻拍你的肩膀。

你很惊讶地抬头,看见老板正瞪着你,因为他有个每时每刻都管理员工的坏习惯。

“嘿,我希望你放松一下,但告诉我那个模块是怎么出现的。”他问道。你咬紧牙关,提供了某种礼貌的答案。

“棒极了,好吧,我只是想确保你能集中注意力。副总裁Janice真的希望我们能够在截止日期前完成任务。”

交谈结束。

要是Lynk软件的活动符号没有变黄该有多好?

其实你可以解决这个问题。在谷歌搜索片刻之后,可找到脚本来移动鼠标并开始编写代码,通过每隔几分钟运行一次程序以确保鼠标移动。

在使用Skype或Lynk时,鼠标和键盘的这些移动可以使你看起来像是在工作中保持活跃状态。

自动化工作使用Python的PyAutoGUI模块。要安装PyAutoGUI模块,请运行以下命令:

pip install pyautogui

Python使用屏幕的坐标系控制并跟踪鼠标。例如,如果屏幕是1920x1080的分辨率,屏幕的坐标系统将如下所示:

PyAutoGUI模块提供以下功能:

•size():size()函数可让你了解屏幕分辨率。

import pyautogui

print(pyautogui.size())

运行此文件(保存为.py扩展名),Python代码使用size()函数输出屏幕分辨率的x、y格式:

•moveTo():PyAutoGUI模块中的moveTo()函数可移动鼠标。下面的代码运用了函数,该函数采用x和y的坐标以及可选的duration(持续时间)参数,使用指定的duration参数将鼠标指针从当前位置移动到x和y的坐标。

import pyautogui

print(pyautogui.size())pyautogui.moveTo(150,100, duration = 2)

运行此Python脚本会发现鼠标指针神奇地从其当前位置移动到坐标(150,100),只用2秒钟就能完成该过程。

除了其中一些基础知识外,还可以使用click和typewrite等函数,实现单击和输入字符串的自动化。

这些都可以用来确保你的老板不会很快抓住你在工作中开小差。

2.使用Selenium自动化网站登录过程

许多网站都不愿看到用户使用爬虫和程序登录其网站。但是,这仍然是一种很值得一学的技能。

Selenium是一个有用的库,可使用多种语言、帮助自动化UI QA、甚至可以通过登录来抓取网站。

虽然学习Selenium可能需要一些时间,但不必学些很难的知识点,只需构建一个可以登录你喜欢的网站的工具。

开始使用前,必须安装Chrome驱动程序和适用于Python的Selenium库。使用以下命令添加Selenium库:

Pip install Selenium

首先,需要从Python的Selenium库中导入一些选定的模块。添加以下命令:

From selenium import webdriverdriver = webdriver.Chrome()

现在,为了实现自动登录,从一个简单的任务开始,比如填写网站的登录表单。

任务包括:

  • 导航到网站
  • 查找登录字段(通常是用户名和密码)。
  • 填写登录详情信息。
  • 提交登录详情信息,自动完成屏幕登录。

建议:可以定义“方法”(用于频繁登录)从而在其他测试中启用重用。 代码行可参考:

From selenium import webdriver
driver = webdriver.Chrome()
def login(url,username,password,submit_button):
driver.get(url)
driver.find_element_by_id(username).send_keys("username")
driver.find_element_by_id(password).send_keys("password")
driver.find_element_by_id(password).(submit_button).click()

注意,你需要获取要与之交互的元素。这可以说是创建登录到站点的Web抓取器或自动登录网站的脚本的难点之一。

有几种方法可以检测Web应用程序的元素,以查找登录字段。

查找元素的常用方法包括ID(如上例所示)、CSS选择器、名称和XPaths。

可以在Selenium的官方文档中找到用于定位登录过程涉及的元素的不同方法。有些网站会使用更多动态内容(比如好几个JavaScript!)。

总的来说,看着Selenium自动点击按钮并登录到你喜爱的网站这一自动化流程十分吸引人。不需要你的参与就能完成移动与操作。 几乎就像在变魔术!

3.自动文件备份

如果要执行常规备份,那么创建自动备份文件非常有用。

你可能熟悉ZIP文件(扩展名为.zip的文件)。ZIP文件可以包含多个具有压缩内容的文件。而且,由于ZIP文件还可以容纳许多文件夹和子文件夹,因此通过将文件打包成一个文件,可成为备份文件的便捷方式。

可以使用zipfile模块中的Python函数自动创建单个ZIP文件(称为存档文件)。还可以使用Python打开(或提取)ZIP文件。该脚本如下所示:

import zipfile, os

def backup(folder)
folder = os.path.abspath(folder)
offset = 1
while True:
    zip_name = os.path.basename(folder) + '_' + str(offset) + '.zip'
if not os.path.exists(zip_name):
    break
offset += 1
print("Successfully created file " % s " %(zip_name))
        backupzip = zipfile.ZipFile(zip_name, 'w') for foldername, subfolders, filenames in os.walk(folder):
        backupzip.write(foldername) backupzip.close() print("done")

4.自动将YouTube视频发布到Reddit主题

我们最近看到和想到的另一个一劳永逸的想法是自动执行可能经常执行的任务:使用脚本将多个视频发布到Reddit上。

在Reddit帖子中发布YouTube视频也可以实现自动化。使用PRAW(一种允许抓取数据的Python包装器)可以为Reddit体验提供更多功能。

开始使用前,请使用pip安装PRAW。

下面的脚本会自动将YouTube视频发布到Reddit主题。

import praw

video_url = str(input("Your video url:"))
post_msg = str(input("Your post message"))
reddit = praw.Reddit(client_id = "***************",
    client_secret = "************",
    user_agent = "**********",
    username = "************",
    password = "***********")
subreddit_list = ["Python", "PytonProjects", "learningprogramming"]
for i in subreddit_list:
    subreddit = reddit.subreddit(i)
print("Posting video to" + i)
subreddit.submit(post_msg, url = video_url)
print("Done")

结论

自动化任务可以带来很多乐趣,特别是看着程序自动登录喜欢的站点,或将数百个文件加载到数据库中。

而且,还有很多优秀的库可以帮助轻松地实现任务自动化。只要库是可维护的,Excel报告、电子邮件和其他任务就可以通过几行代码简化。

以上就是python 自动化偷懒的四个实用操作的详细内容,更多关于python 自动化实用操作的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python自动化测试中yaml文件读取操作

    什么是yaml 一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大 更直观,更方便,有点类似于json格式 yaml文件格式:test.yaml 安装yaml pip install pyyaml yaml基本语法规则 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样 键值对(dict) yaml文件 user: ad

  • Python自动化操作实现图例绘制

    折线图,柱状图,饼图用于数据展示,更直观的分析数据.实现绘制的效果图如下 代码 很简单,如下 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 #数据源 date=['2018/7/21','2018/7/22','2018/7/23','2018/7/24','2018/7/25','2018/7/26','2018/7/27','2018/7/28','2018/7/2

  • Python键鼠操作自动化库PyAutoGUI简介(小结)

    PyAutoGUI是一个Python语言的键鼠自动化库,简单来说和按键精灵的功能一样.但是因为是Python的类库,所以可以使用Python代码配合一些其他类库完成更加强大的功能.下面让我为大家介绍一下吧. 安装 从pip安装即可. pip install pyautogui 稍等一下安装就完毕了. 使用介绍 简单介绍一下PyAutoGUI的函数以及使用方法. 鼠标操作函数 操作鼠标点击的函数. 函数 简单说明 move(x,y). moveTo(x,y) 移动鼠标,前者移动相对位置,后者移动到

  • python+Selenium自动化测试——输入,点击操作

    这是我的第一个真正意思上的自动化脚本. 1.练习的测试用例为: 打开百度首页,搜索"胡歌",然后检索列表,有无"胡歌的新浪微博"这个链接 2.在写脚本之前,需要明确测试的步骤,具体到每个步骤需要做什么,既拆分测试场景,考虑好之后,再去写脚本. 此测试场景拆分如下: 1)启动Chrome浏览器 2)打开百度首页,https://www.baidu.com 3)定位搜索输入框,输入框元素XPath表达式://*[@id="kw"] 4)定位搜索提交按

  • python自动化办公操作PPT的实现

    1.python-pptx模块简介 使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍.这里提前做一个说明:python操作PPT,最好是我们提前设计好自己的一套样式,然后利用进行python进行内容的获取和填充(最主要的功能!),最好是不用使用python代码操作PPT的格式,格式的修改肯定不如我们直接在PPT中修改方便. 可以创建.修改PPT(.pptx)文件 需要单独安装,不包含在Python标准模块里 python-pptx官网介绍:ht

  • python+excel接口自动化获取token并作为请求参数进行传参操作

    1.登录接口登录后返回对应token封装: import json import requests from util.operation_json import OperationJson from base.runmethod import RunMethod class OperationHeader: def __init__(self, response): self.response = json.loads(response) def get_response_token(self

  • Python如何操作office实现自动化及win32com.client的运用

    应用背景 工作中,由于需要出定期的report,需要用到office,主要是要用到excel表格,然后给各个team或者boss发email report.这里边就包含了不少重复性的工作,工作中常常有一个固定的模板来出report,而每次只需将相关的数据手动导入,如果将这些重复性的动作,实现自动化,无疑可以省去不少功夫.于是我就想到了用python来实现自动化生成表格.今天介绍的只是一部分,主要是excel表格自动修改生成. 似乎是一个很简单的活,调用常用的与excel相关的python模块xl

  • python操作excel让工作自动化

    某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入.删除列.拷贝.求和,所以给了4天的时间要完成. 我不愿意做大量简单而且又是重复性工作,看了看3只表格的格式基本一样,于是我用python写了30行代码完成了这个"艰巨"任务. 0x01 用python操作excel需要安装xlrd.xlwt(或者其他的模块也行). 读取excel文件:workbook = xlrd.open_workbook('fi

  • Python word文本自动化操作实现方法解析

    之前介绍了一个Python包 openpyxl ,用于处理 Excel :而对于 Word 文本时同样也有对应的 Python库 Python-docx,在日常办公中,如果需要处理多个 word 文本,且操作步骤都是重复单调的,我想这个库就可以帮到你 在了解 Python-docx 常用函数之前,需要知道 在 Python-docx 各命令所对应 word 各部件,下图所示, Document 指的是 word 文档: paragraph 对应段落: run 对应 一句话中的各个字段,样式调整时

  • 利用Python自动化操作AutoCAD的实现

    1 Python自动绘图 在这里我主要运用了pyautocad库进行AutoCAD的自动化操作,pyautocad是一款功能非常强大的AutoCAD操作处理库,可以实现Python自动绘图.CAD图像对象读取.对象属性修改等操作. from pyautocad import Autocad,APoint # 连接及库导入 acad = Autocad(create_if_not_exists = True) acad.prompt("Hello! Autocad from Python.&quo

随机推荐