打印网络和共享中心的控件标识符

时间:2018-10-17 11:11:15

标签: pywinauto controlpanel

我正在寻找一种方法,如何通过脚本更改网络适配器的IP地址。我正在尝试pywinauto。

我设法从Windows控制面板打开“网络和共享中心”。现在,我正在寻找一种方法,单击“更改适配器设置”链接以获取我的网络适配器的列表:

Screenshot highlighting the window element I am trying to click on

所以我试图通过.print_control_identifiers()

打印此窗口的控件标识符。
import pywinauto

network_cpl = pywinauto.Application(backend="uia").start('control /name Microsoft.NetworkAndSharingCenter')
dlg = network_cpl["Network and Sharing Center"]
dlg.print_control_identifiers()

我已经在实时调试控制台中检查到dlg实际上是network_cpl的对话:

network_cpl
<pywinauto.application.Application object at 0x000000000476FDD8>
actions:<pywinauto.actionlogger._StandardLogger object at 0x0000000003BCE630>
backend:<pywinauto.backend.BackEnd object at 0x000000000539B208>
match_history:[]
process:7888
use_history:False
xmlpath:''


dlg
<pywinauto.application.WindowSpecification object at 0x0000000003C0C828>
WAIT_CRITERIA_MAP:{'active': ('is_active',), 'enabled': ('is_enabled',), 'exists': ('exists',), 'ready': ('is_visible', 'is_enabled'), 'visible': ('is_visible',)}
actions:<pywinauto.actionlogger._StandardLogger object at 0x0000000003BCE828>
backend:<pywinauto.backend.BackEnd object at 0x000000000539B208>
criteria:[{'backend': 'uia', 'best_match': 'Network and Sharing Center', 'process': 7888}]

我看到dlg WindowsSpecification对象的进程ID与network_cpl Application对象的进程ID相同。然而,当我执行dlg.print_control_identifiers()时,我得到了:

Exception has occurred: pywinauto.findwindows.ElementNotFoundError
{'best_match': 'Network and Sharing Center', 'backend': 'uia', 'process': 7888}

1 个答案:

答案 0 :(得分:1)

当启动器进程生成一个子进程时,这是一个典型的问题。计划在将来自动检测产卵过程。目前您可以使用

const fileInput = await page.$(
    ".{yourDropzoneClassName} input[type=file]"
);
await fileInput.uploadFile("path/to/file");

启动应用后。或通过network_cpl.connect(title="Network and Sharing Center") 对象访问它:

Desktop