AT-SPI(Assistive Technology Service Provider Interface)是由GNOME项目开发的,它提供了应用程序界面/内容的一个逻辑性的表现。
可以用于辅助残疾人士来浏览/interact应用程序,也可以用于用户界面的自动化测试(例如Linux Desktop Testing Project and Dogtail)
lib接口类型- Atspi.Action
- Atspi.Collection
- Atspi.Component
- Atspi.document
- Atspi.EditableText
- Atspi.Hypertext
- Atspi.Image
- Atspi.Selection
- Atspi.Table
- Atspi.TableCell
- Atspi.Text
- Atspi.Value
Atspi.Selection - Interfaces - Atspi 2.0
如何抓取待测对象元素sudo apt-get update
sudo apt-get install accerciser
无法抓取QT应用的元素
解决方案- 安装OCR
sudo apt-get install -y orca 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: archdetect-deb cryptsetup cryptsetup-bin libdebian-installer4 libyaml-cpp0.6 localechooser-data user-setup 使用'sudo apt autoremove'来卸载它(它们)。 将会同时安装下列软件: gir1.2-gstreamer-1.0 libbrlapi0.7 libdotconf0 liblouis-data liblouis20 libspeechd2 python3-brlapi python3-louis python3-speechd speech-dispatcher speech-dispatcher-audio-plugins 建议安装: python3-gst-1.0 libttspico-utils espeak mbrola speech-dispatcher-doc-cs speech-dispatcher-festival speech-dispatcher-cicero speech-dispatcher-flite speech-dispatcher-espeak 推荐安装: xbrlapi gstreamer0.10-plugins-base speech-dispatcher-espeak-ng sound-icons 下列【新】软件包将被安装: gir1.2-gstreamer-1.0 libbrlapi0.7 libdotconf0 liblouis-data liblouis20 libspeechd2 orca python3-brlapi python3-louis python3-speechd speech-dispatcher speech-dispatcher-audio-plugins 升级了 0 个软件包,新安装了 12 个软件包,要卸载 0 个软件包,有 391 个软件包未被升级。 需要下载 5,474 kB 的归档。 解压缩后会消耗 27.3 MB 的额外空间。 获取:1 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 gir1.2-gstreamer-1.0 amd64 1.16.2-2kylin0k2 [1,188 kB] 获取:2 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 libbrlapi0.7 amd64 6.0+dfsg-4kylin6 [97.4 kB] 获取:3 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 libdotconf0 amd64 1.3-0.3fakesync1 [16.4 kB] 获取:4 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 liblouis-data all 3.12.0-3 [1,629 kB] 获取:5 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 liblouis20 amd64 3.12.0-3 [77.7 kB] 获取:6 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 libspeechd2 amd64 0.9.1-4 [29.0 kB] 获取:7 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 python3-brlapi amd64 6.0+dfsg-4kylin6 [152 kB] 获取:8 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 python3-louis all 3.12.0-3 [14.1 kB] 获取:9 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 python3-speechd all 0.9.1-4 [52.0 kB] 获取:10 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 speech-dispatcher-audio-plugins amd64 0.9.1-4 [34.7 kB] 获取:11 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 speech-dispatcher amd64 0.9.1-4 [505 kB] 获取:12 http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1/main amd64 orca all 3.36.1-0kylin1 [1,680 kB] 已下载 5,474 kB,耗时 15秒 (365 kB/s) 正在选中未选择的软件包 gir1.2-gstreamer-1.0:amd64。 (正在读取数据库 ... 系统当前共安装有 218619 个文件和目录。) 准备解压 .../00-gir1.2-gstreamer-1.0_1.16.2-2kylin0k2_amd64.deb ... 正在解压 gir1.2-gstreamer-1.0:amd64 (1.16.2-2kylin0k2) ... 正在选中未选择的软件包 libbrlapi0.7:amd64。 准备解压 .../01-libbrlapi0.7_6.0+dfsg-4kylin6_amd64.deb ... 正在解压 libbrlapi0.7:amd64 (6.0+dfsg-4kylin6) ... 正在选中未选择的软件包 libdotconf0:amd64。 准备解压 .../02-libdotconf0_1.3-0.3fakesync1_amd64.deb ... 正在解压 libdotconf0:amd64 (1.3-0.3fakesync1) ... 正在选中未选择的软件包 liblouis-data。 准备解压 .../03-liblouis-data_3.12.0-3_all.deb ... 正在解压 liblouis-data (3.12.0-3) ... 正在选中未选择的软件包 liblouis20:amd64。 准备解压 .../04-liblouis20_3.12.0-3_amd64.deb ... 正在解压 liblouis20:amd64 (3.12.0-3) ... 正在选中未选择的软件包 libspeechd2:amd64。 准备解压 .../05-libspeechd2_0.9.1-4_amd64.deb ... 正在解压 libspeechd2:amd64 (0.9.1-4) ... 正在选中未选择的软件包 python3-brlapi:amd64。 准备解压 .../06-python3-brlapi_6.0+dfsg-4kylin6_amd64.deb ... 正在解压 python3-brlapi:amd64 (6.0+dfsg-4kylin6) ... 正在选中未选择的软件包 python3-louis。 准备解压 .../07-python3-louis_3.12.0-3_all.deb ... 正在解压 python3-louis (3.12.0-3) ... 正在选中未选择的软件包 python3-speechd。 准备解压 .../08-python3-speechd_0.9.1-4_all.deb ... 正在解压 python3-speechd (0.9.1-4) ... 正在选中未选择的软件包 speech-dispatcher-audio-plugins:amd64。 准备解压 .../09-speech-dispatcher-audio-plugins_0.9.1-4_amd64.deb ... 正在解压 speech-dispatcher-audio-plugins:amd64 (0.9.1-4) ... 正在选中未选择的软件包 speech-dispatcher。 准备解压 .../10-speech-dispatcher_0.9.1-4_amd64.deb ... 正在解压 speech-dispatcher (0.9.1-4) ... 正在选中未选择的软件包 orca。 准备解压 .../11-orca_3.36.1-0kylin1_all.deb ... 正在解压 orca (3.36.1-0kylin1) ... 正在设置 libbrlapi0.7:amd64 (6.0+dfsg-4kylin6) ... 正在设置 speech-dispatcher-audio-plugins:amd64 (0.9.1-4) ... 正在设置 gir1.2-gstreamer-1.0:amd64 (1.16.2-2kylin0k2) ... 正在设置 python3-speechd (0.9.1-4) ... 正在设置 libspeechd2:amd64 (0.9.1-4) ... 正在设置 liblouis-data (3.12.0-3) ... 正在设置 python3-brlapi:amd64 (6.0+dfsg-4kylin6) ... 正在设置 libdotconf0:amd64 (1.3-0.3fakesync1) ... 正在设置 liblouis20:amd64 (3.12.0-3) ... 正在设置 speech-dispatcher (0.9.1-4) ... 正在设置 python3-louis (3.12.0-3) ... 正在设置 orca (3.36.1-0kylin1) ... 正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ... 正在处理用于 libc-bin (2.31-0kylin9.2) 的触发器 ... 正在处理用于 systemd (245.4-4kylin3k6) 的触发器 ... 正在处理用于 man-db (2.9.1-1kylin0k1) 的触发器 ... 正在处理用于 install-info (6.7.0.dfsg.2-5kylin0k2~rc1) 的触发器 ...
- 启动Accessibility
from gi.repository import Gio, GLib
#函数功能:启用或关闭Accessibility
def setAccessibility(value):
try:
_proxy = Gio.DBusProxy.new_for_bus_sync(
Gio.BusType.SESSION,
Gio.DBusProxyFlags.NONE,
None,
'org.a11y.Bus',
'/org/a11y/bus',
'org.freedesktop.DBus.Properties',
None)
except:
_proxy = None
if not _proxy:
print("NO")
exit()
else:
vEnable = GLib.Variant('b', value)
_proxy.Set('(ssv)', 'org.a11y.Status', 'IsEnabled', vEnable)
print("OK")
setAccessibility(True)



