下载并安装AppiumForMac
打开AppiumForMac服务即开启,默认端口号4622
https://github.com/appium/appium-for-mac/releases/tag/v0.4.1
定位元素
方法一:
长按fn然后粘贴到剪切板上可以获得元素
方法二
用Xcode中的accessibility inspector也可查找元素
这两者貌似都是Xpath方法,像Quicktime屏幕录制开始录制的悬浮窗在screencaptureui里面,根本定位不到
主控端代码
简单的打开一个app
desiredCapabilities = {'platform':'Mac', 'commandDelay':50, 'loopDelay':0, 'implicitTimeout':defaultImplicitTimeout_sec * 1000, 'mouseMoveSpeed':60, 'diagnosticsDirectoryLocation':'~/Desktop/', 'screenShotOnError':1}
driver = webdriver.Remote( command_executor='http://192.168.00.120:4622/wd/hub', desired_capabilities=desiredCapabilities)
def start_app():
driver.get("app")
time.sleep(1)
driver.find_element(by=By.XPATH,value="/AXApplication[@AXTitle='app']/AXWindow[@AXTitle='Window' and @AXIdentifier='_NS:26' and @AXSubrole='AXStandardWindow']/AXButton[@AXTitle='局域网对时' and @AXIdentifier='_NS:15']").click()
time.sleep(1)
driver.find_element(by=By.XPATH, value="/AXApplication[@AXTitle='app']/AXWindow[@AXTitle='Window' and @AXIdentifier='_NS:26' and @AXSubrole='AXStandardWindow']/AXButton[@AXSubrole='AXMinimizeButton']").click()
ps:主控和被操控的电脑应处于同一网络下
后记:
个人感觉applescript本地自动化实际上在元素查找上更方便,一些比较隐藏的元素也可以找到,远程自动化涉及到快捷键的操作时失灵时不灵
参考链接:
https://github.com/appium/appium-for-mac