专栏首页前端逗逗飞工作时怎么“偷懒”?交给工作流自动化吧

工作时怎么“偷懒”?交给工作流自动化吧

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

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报告、电子邮件和其他任务就可以通过几行代码简化。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 研究生必备最强文献下载神器——SCI-HUB客户端!

    最近因为在准备开题,所以需要看很多论文。但是好多文献发现下载不了,有好多下载还要钱,这个难倒我了。

    用户7656790
  • 今天到腾讯转了转,我竟穿梭了时光!

    (^_−)−☆ 好巧,我们又见面了 ? 南方的冬天秋高气爽,简直让人不好意思睡懒觉。 怎么办?只能浪! 今天不浪别的,浪鹅,去看看这只市值超40000亿的鹅。不...

    企鹅号小编
  • 今天到鹅厂转了转,我看到了未来!

    南方的冬天秋高气爽,简直让人不好意思睡懒觉。 怎么办?只能浪! 今天不浪别的,浪鹅,去看看这只市值超40000亿的鹅。不得不说,它得一举一动,代表的,可能就是未...

    企鹅号小编
  • 太牛了!这个Python库竟然可以偷懒,和import说再见

    还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。

    华章科技
  • 我差不多,哦不我已经是个废人了No.4

    我是小蕉。 好吧大家都说技术看不懂,那好吧,今天一点技术都没有,主要谈谈一个人来如何懒起来。 前几日因为要部署一个ElasticSearch集群...

    大蕉
  • 测试人员的“偷懒大法”

    (文 松心耐雪作品) 偷懒大法 测试一项重复而又累的工作,我想作为一个测试人员应该都是深有体会的,那么如何给自己减负呢?那就要学会“偷懒”。对测试来说繁杂的事情...

    企鹅号小编
  • [推荐]Linux入门系列(一)换个角度看Linux其实很简单,带你一起入门

    开头以为我会给你介绍Linux来龙去脉或者讲理论吗,不会吧,不会吧,你不会真的这么想吧,我还真的不打算给你讲耶,因为百度百科它不香吗?它可比我介绍的详细得多得多...

    用户7656790
  • 机器学习-开门篇之数据获取(一)

    机器学习的流程大概分为六个步骤:获取数据,检查数据合理,数据清洗,建模,评估模型,部署。

    brzhang
  • 咱拐个弯?昆仑通态HMI modbusRTU 的双精度浮点读取

    昨天,咱一优质资深老客户突然找到我,很严肃地跟我说有个非常严重并且非常着急的问题,能让咱多年资深工程师都无法解决的,那肯定的确是大问题,对话如下:

    剑指工控
  • 苹果处理器的代工厂,为什么不把技术偷偷卖给同行? | 拔刺

    镁客网
  • 单片机IO口模式将影响串口通信,亲测问题

    今天闲来无事,再次操起很久之前的一块板子,板载stc15芯片,要做个串口通信。看完数据手册直接写程序,写完烧写进去后测试串口不通。

    单片机技术宅
  • 牛逼!这个Python库竟然可以偷懒,和import说再见!

    还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。

    Python数据科学
  • 如何优化让日志处理速达到 5万/s?

    本文来自作者 jason 在 GitChat 上分享 「大数据项目性能优化实战分享」

    CSDN技术头条
  • 关于写作那些事之终于还是无法忍受纯人工统计数据

    作为正在探索如何写作并发表到各大博客平台的新人,目前虽然已基本弄清写作和发表的基本流程,但是离打造个人知名度还差很大很大一段距离.

    雪之梦技术驿站
  • 你还在为 import 库而烦恼吗?试试这个库

    还记得入门Python数据分析时经常会import几个库,下面这几个可谓是入门学习时的四大护法,Python数据处理和可视化常会用的工具。

    猴哥yuri
  • 震惊!北京一男子竟然用swoole做了这种事!

    自己挖的坑自己填吧,今天咱就简单地利用swoole(实际上用我撸的那个沙雕一样的ti-rpc,上手会快一些)去实现这种【大量耗时数据导出】需求。但是,我还是偷了...

    老李秀
  • 网易云音乐测开面筋

    你要做一个不动声色的大人了。不准情绪化,不准偷偷想念,不准回头看。去过自己另外的生活。你要听话,不是所有的鱼都会生活在同一片海里。——村上春树《舞!舞!舞!》

    牛客网
  • Stay foolish, Stay hungry

    外行人思维更利于创新 “我想要这样”,而不是“能不能实现” 就是要像外行人一样找创意,然后用专家的方法去实现它 懒惰是预测未来发展趋势的最佳方式

    邱翔Alex
  • 支付宝中那些小功能,果然很实用

    支付宝已经不仅仅是一种支付的工具了,它还有很多功能你可能还不知道,让我们一起来看下吧。

    Bug生活2048

扫码关注云+社区

领取腾讯云代金券