我正在尝试点击用 View 实例化的自定义 NavigationBar。由于我似乎无法先选择它然后点击,所以我想使用自定义坐标执行点击(元素在左上角):
UIATarget.localTarget().frontMostApp().tapWithOptions({tapCount: 1, touchCount: 1, duration: 0.1, tapOffset: {x: 0, y: 0});
不幸的是,点击 (0,0) 的原点似乎就在 NavigationBar 元素下方,我无法点击该元素,因为它位于 NavigationBar 内部。从屏幕左上角开始点击的正确方法是什么?
最佳答案
我认为在 tapWithOptions
的选项中指定 duration
键是导致问题的原因。
在我使用 UI Automation 测试的我自己的一个应用程序中,我尝试了一个实验。我粘贴了你在 Instruments 中写的那行,但当我运行它时它不起作用。但是当我删除 duration
键时,它起作用了,并且执行了一次点击。我的猜测是,即使持续时间很短,添加 duration
也会以某种方式触发“点击并按住”手势。点击手势识别器显然忽略了 UI 自动化生成的这些类型的事件。通过删除 duration
键,UI Automation 执行正常的点击,它应该可以工作。
关于ios - 点击绝对坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738389/