automated-tests - 创建鼠标点击宏
问题描述
是否可以为一系列鼠标单击创建自动 python 脚本/宏?目标是打开一个网页,单击按钮打开上传数据窗口,最后点击保存按钮来创建一个进程。我正在考虑类似于自动 VBA 宏的东西,这些宏被记录为在工作表上执行的操作。
过去,我曾pyautogui
为此活动使用包,但它需要对鼠标单击的坐标进行硬编码,因此编码很繁琐。
解决方案
也许尝试在python中使用selenium ......
任何简单的例子都是:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
要使用 Firefox 下载文件,请尝试:
from selenium import webdriver
# To prevent download dialog
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2) # custom location
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', '/tmp')
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'text/csv')
browser = webdriver.Firefox(profile)
browser.get("http://www.drugcite.com/?q=ACTIMMUNE")
browser.find_element_by_id('exportpt').click()
browser.find_element_by_id('exporthlgt').click()
另一种选择是使用pythons webbrowser。
Automatetheboringstuff给出了一些很好的例子。
推荐阅读
- c++ - 对两个向量求和并存储 stl 算法
- angular - 如何解决 Angular ng-bootstrap 中的网格系统问题
- wso2 - WSO2 EI 的单元测试用例报告
- android - 为 Kotlin 多平台项目运行单元测试时出错
- node.js - NestJs 测试 - 是模块内相关提供程序/导入的 REPOSITORY 部分
- python - 双重安装的 Geopandas
- node.js - 带有只发生一次的异步操作的 Express 中间件
- r - 在 R 中,将函数中的输入名称保存为注释
- java - 如何在创建 repo 时克服 gtihub 上的 422 错误?
- kubernetes - GKE 集群的 velero 备份失败