如何从坐标获取文本属性?

How to get text attribute from coordinates?

我正在尝试从特定元素获取文本。该页面有许多 TextView。所有文本元素都具有相同的资源 ID 和类名。 所以 driver.findElement() 并且所有 google 搜索的方法在这里都不起作用。

从该项目复制文本属性的唯一方法是使用 X、Y 坐标。

有没有办法从特定坐标获取文本?

可以的,还需要driver.findElement..,by xpath,请试试:

driver.findElementByXPath("//*[@x='249' and @y='458']").getText();

driver.findElementByXPath("//*[@x='249' and @y='458']").getAttribute("attributeName");

确保您的元素具有 属性 x y,如下所示:

但有时通过 x y 查找元素并不能给出唯一性,如果应用程序发生变化,这也很容易发生变化。

我找到了方法。我们可以使用元素的完整层次结构。亲子之间使用/轻松

像这样:

driver.findElement(By.xpath("//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.i[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[2]/android.widget.FrameLayout[1]/android.view.ViewGroup[1]/android.view.ViewGroup[1]/android.support.v4.view.ViewPager[1]/android.view.ViewGroup[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.support.v7.widget.RecyclerView[1]/android.support.v7.widget.RecyclerView[1]/android.widget.LinearLayout[2]/android.widget.TextView[2]")).getText();

UiAutomator2 不显示此 XPATH 属性。我使用 Katalon studio - Mobile Spy 来查找完整的 Xpath 层次结构