繁体   English   中英

使用 pyautogui 控制鼠标和浏览器以实现流程自动化

[英]Controlling the mouse and browser with pyautogui for process automation

我是 Python 新手,我需要专家指导我在工作中尝试完成的项目,因为我的同事都不是程序员。

我正在制作一个登录网站并提取 CSV 数据集的脚本。 以下是我想自动化的步骤:

  1. 打开chrome,转到一个网站
  2. 使用用户名/密码登录
  3. 通过下拉菜单导航到另一个内部站点
  4. 在搜索标签框中输入文本或删除搜索标签,例如“小时”,按“Enter”或“Tab”选择(对 3-4 个搜索标签重复此操作)
  5. 点击“运行数据”
  6. 等到数据加载完毕,然后点击“下载”,得到一个包含 40-50k 行数据的 CSV 文件
  7. 对不同的数据拉取、不同的链接和不同的搜索标签重复这个过程 3-4 次

这个过程通常需要 30-40 分钟,每周总共需要 4 到 5 次数据提取,所以就像看着油漆变干一样。

我尝试使用pyautogui模块自动执行此操作,但它对我不起作用。 它工作得太快,或者根本不起作用。 我想我用错了。

这是我的代码:

import webbrowser
import pyautogui
#pyautogui.position()
#print(pyautogui.position())

#1-2
pyautogui.FAILSAFE = True
chrome_path = 'open -a /Applications/Google\ Chrome.app %s'

#2-12
url = 'http://Google.com/'
webbrowser.get(chrome_path).open(url)
pyautogui.moveTo(185, 87, duration=0.25)
pyautogui.click()
pyautogui.typewrite('www.linkedin.com')
pyautogui.press('enter')
#loginhere? Research

如果pyautogui不适合此任务,您能推荐一种替代方法吗?

您获取数据的方式很容易出错,而不是人们通常从网站获取数据的方式。 你想要的是一个网络爬虫,它允许你从网站或一些公司提供的 API 中获取信息,让你更容易地访问数据。

为了从 LinkedIn 获取信息,它有一个内置的 API 您确实提到您正在导航到另一个站点,但在这种情况下,我会查看该站点是否有 API 或考虑使用Scrapy ,这是一个应该允许您提取所需信息的网络抓取工具

旁注:您还可以使用 python 研究同步和异步编程,以使多个请求更快/更容易

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM