我无法通过 Appium 获取 Android 屏幕中存在的元素的位置。
我检查了http://appium.io/docs/en/commands/element/attributes/location/上有关getLocation()方法的文档,但没有获得元素位置的信息。
我尝试了整个对象:
console.log("Get location object: " + driver.getLocation('android=new UiSelector().resourceId("io.appium.android.apis:id/text"))'));
并且具有特定值(X):
console.log("Get location parameter 'x': " + driver.getLocation('android=new UiSelector().resourceId("io.appium.android.apis:id/text"))').x);
我希望从响应中获得X和Y值,但是我在控制台中收到以下值:
获取位置对象:
[object Object]
获取位置参数“ x”:
undefined
答案 0 :(得分:0)
我认为文档中的示例不正确。它应该像this一样工作:
const text = browser.$('android=new UiSelector().resourceId("io.appium.android.apis:id/text"))')
const location = text.getLocation();
console.log(location); // outputs: { x: ..., y: ... }
您首先需要获取一个元素对象,然后使用其API获取位置。
browser.getLocation()
是要获取GPS坐标
答案 1 :(得分:0)
您可以尝试使用Appium Studio。有了它,很容易获得元素的位置
String locationX = client.elementGetProperty("NATIVE", "your-xpath-here", 0, "X");
String locationY = client.elementGetProperty("NATIVE", "your-xpath-here", 0, "Y");
这是分别获取X和Y坐标。有关详细说明,请查看文档here。