x和y坐标如何点击iOS?

How tap by x and y coordinates iOS?

对于 Android 世界,我们可以通过以下方式点击任何位置:

val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
device.click(x, y)

上面的 xy 可以从 Pixelmator 获得,例如:

例如a键的坐标应该是x=100y=1800(来自Pixelmator的Ruler)。

根据 ,我们可能会在 iOS:

中做类似的事情
func tapCoordinate(at xCoordinate: Double, and yCoordinate: Double) {
    let normalized = app.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
    let coordinate = normalized.withOffset(CGVector(dx: xCoordinate, dy: yCoordinate))
    coordinate.tap()
}

但是没有达到预期的效果,我想知道是否可以通过全局屏幕的xy点击一些点?

你的问题没有多大意义。函数 debugDescription() 从各种数据类型生成一个字符串,适合记录到控制台。 iOS 不会“根据 debugDescription 计算坐标”。

你没有告诉我们你在记录什么。您应该编辑您的问题以告诉我们您正在记录的是什么,显示捕获值的代码,并显示记录它的打印语句。

根据输出格式,您似乎正在记录一个矩形(CGRect 数据类型。)

A CGRect 的形式是 (origin, size),其中 originCGPoint,size 是 CGSize.

听起来 tapCoordinate 给出了矩形的中心,即:

x = rect.origin.x + size.width/2
y = rect.origin.y + size.width/2

这给了

x = 23+41/2 = 43.5
y = 573+49/2 = 597.5

假设您的 x 值是一个错字,应该是 33,这与您在问题中给出的值非常接近。