是否有 ADB Shell 命令告诉我 TextView 的内容?
Is there an ADB Shell command that tells me the contents of a TextView?
我一直在 Linux 上编写此脚本,以便使我正在处理的应用程序的某些部分自动化。我的下一个目标是使应用程序的登录过程自动化,这相当于单击几个按钮并在网站上的单独登录页面中输入 6 位代码。我们正在使用 ADB shell 脚本和 Python 脚本 运行 Selenium webdriver 的组合来完成这项工作,用于需要登录的网页等等。
这让我留在了现在的位置;我找到了如何使用 ADB shell 命令在特定坐标处输入按钮按下(或者更确切地说是“点击”本身),所以这是问题的一半......但是,我无法找到专门抓取所需的命令在我的脚本中使用的 TextView 的内容;它用于登录流程,所以我需要将它分配给脚本中的一个变量,如果可能的话,就像你分配一个目录一样...
(即 $TEXTCONTENT=****** 其中 *s 是 6 位代码)
...所以以后Selenium webdriver需要登录输入6位密码的时候可以使用。是否有我正在寻找的特定命令来获取它?
您可以使用 AndroidViewClient 查找视图并与之交互。
我不知道您使用的是什么应用程序,所以我的示例基于计算器。
如果您在计算器上输入任何数字并且运行这个脚本
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
from com.dtmilano.android.viewclient import ViewClient
vc = ViewClient(*ViewClient.connectToDeviceOrExit())
vc.dump()
formula = vc.findViewByIdOrRaise("com.google.android.calculator:id/formula")
print(formula.getText())
它将打印那个数字。
这里可以使用uiautomator。有一个 Python 包 uiautomator 可以帮助:
from uiautomator import device as d
d(resourceId="id/mytextfield").text
或者如果您想以更手动的方式进行操作,可以使用 adb shell uiautomator dump
将屏幕内容转储到 XML 文件中。然后您可以在本地 adb pull
它,然后您的脚本可以在其中解析文本的 XML。
我一直在 Linux 上编写此脚本,以便使我正在处理的应用程序的某些部分自动化。我的下一个目标是使应用程序的登录过程自动化,这相当于单击几个按钮并在网站上的单独登录页面中输入 6 位代码。我们正在使用 ADB shell 脚本和 Python 脚本 运行 Selenium webdriver 的组合来完成这项工作,用于需要登录的网页等等。
这让我留在了现在的位置;我找到了如何使用 ADB shell 命令在特定坐标处输入按钮按下(或者更确切地说是“点击”本身),所以这是问题的一半......但是,我无法找到专门抓取所需的命令在我的脚本中使用的 TextView 的内容;它用于登录流程,所以我需要将它分配给脚本中的一个变量,如果可能的话,就像你分配一个目录一样...
(即 $TEXTCONTENT=****** 其中 *s 是 6 位代码)
...所以以后Selenium webdriver需要登录输入6位密码的时候可以使用。是否有我正在寻找的特定命令来获取它?
您可以使用 AndroidViewClient 查找视图并与之交互。
我不知道您使用的是什么应用程序,所以我的示例基于计算器。
如果您在计算器上输入任何数字并且运行这个脚本
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
from com.dtmilano.android.viewclient import ViewClient
vc = ViewClient(*ViewClient.connectToDeviceOrExit())
vc.dump()
formula = vc.findViewByIdOrRaise("com.google.android.calculator:id/formula")
print(formula.getText())
它将打印那个数字。
这里可以使用uiautomator。有一个 Python 包 uiautomator 可以帮助:
from uiautomator import device as d
d(resourceId="id/mytextfield").text
或者如果您想以更手动的方式进行操作,可以使用 adb shell uiautomator dump
将屏幕内容转储到 XML 文件中。然后您可以在本地 adb pull
它,然后您的脚本可以在其中解析文本的 XML。