使用NVDA快捷键获取输入

2024-05-15 17:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

当我们创建一个简单的网页并用NVDA快捷键H阅读这一行时,它将被解读为“闪卖标题三级”

<h3 class="hp-mod-card-title">Flash Sale</h3>

但是有没有办法将这个闪购分配给python变量呢?。真的很抱歉我对这个有点陌生

import globalPluginHandler
import ui

class GlobalPlugin(globalPluginHandler.GlobalPlugin):

        def script_sayHeader(self, gesture):
                x = "Header 123"
                ui.message(x + 'is a nice header')

        __gestures={
                "kb:h":"sayHeader"
        }

这是我创建的一个全局插件的代码,我需要向这个x添加一个当前标题或快捷键值。这是一个示例代码,我打算做的有点复杂

我也试过添加这个,但仍然只显示页面标题:(

import globalPluginHandler
import ui
import api #added this

class GlobalPlugin(globalPluginHandler.GlobalPlugin):

        def script_sayHeader(self, gesture):
                x = api.getNavigatorObject().name #added this
                ui.message(x + 'is a nice header')

        __gestures={
                "kb:h":"sayHeader"
        }

Tags: importselfui标题messageisdefscript
1条回答
网友
1楼 · 发布于 2024-05-15 17:18:29

你试过x = api.getNavigatorObject().name

Developer info for navigator object:
name: u'Flash Sale'
role: ROLE_HEADING
states: 
isFocusable: False
hasFocus: False
Python object: <NVDAObjects.IAccessible.mozilla.Mozilla object at 0x1AFE9C70>
Python class mro: (<class 'NVDAObjects.IAccessible.mozilla.Mozilla'>, <class 'NVDAObjects.IAccessible.ia2Web.Ia2Web'>, <class 'NVDAObjects.IAccessible.IAccessible'>, <class 'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class 'documentBase.TextContainerObject'>, <class 'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>, <type 'object'>)
description: u''
location: RectLTWH(left=156, top=190, width=1710, height=33)

您可以随时通过日志查看器(NVDA+f1)检索这些信息。 对不起,如果我误解了这个问题

相关问题 更多 >