打印网络和共享中心的控制标识符
Print control identifiers for Network and Sharing Center
我正在寻找一种通过脚本更改网络适配器 IP 地址的方法。我正在尝试 pywinauto。
我设法从 Windows 控制面板打开了网络和共享中心。现在我正在寻找一种方法来单击“更改适配器设置”link 以获取我的网络适配器列表:
所以我尝试通过.print_control_identifiers()
打印这个window的控件标识符
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}
这是启动器进程生成子进程时的典型问题。计划在 future.Currently 中自动检测产卵过程,您可以使用
network_cpl.connect(title="Network and Sharing Center")
启动应用程序后。或者通过Desktop
对象访问:
>>> from pywinauto import Desktop, Application
>>> network_cpl = Application(backend="uia").start('control /name Microsoft.NetworkAndSharingCenter')
>>> network_cpl.process
9652
>>> dlg_desktop = Desktop(backend="uia")["Network and Sharing Center"]
>>> found_dlg = dlg_desktop.wrapper_object()
>>> found_dlg.process_id()
15520
我正在寻找一种通过脚本更改网络适配器 IP 地址的方法。我正在尝试 pywinauto。
我设法从 Windows 控制面板打开了网络和共享中心。现在我正在寻找一种方法来单击“更改适配器设置”link 以获取我的网络适配器列表:
所以我尝试通过.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}
这是启动器进程生成子进程时的典型问题。计划在 future.Currently 中自动检测产卵过程,您可以使用
network_cpl.connect(title="Network and Sharing Center")
启动应用程序后。或者通过Desktop
对象访问:
>>> from pywinauto import Desktop, Application
>>> network_cpl = Application(backend="uia").start('control /name Microsoft.NetworkAndSharingCenter')
>>> network_cpl.process
9652
>>> dlg_desktop = Desktop(backend="uia")["Network and Sharing Center"]
>>> found_dlg = dlg_desktop.wrapper_object()
>>> found_dlg.process_id()
15520