Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Win32 GUI获取窗口内容(internet explorer\u服务器)_Python_Win32gui - Fatal编程技术网

Python Win32 GUI获取窗口内容(internet explorer\u服务器)

Python Win32 GUI获取窗口内容(internet explorer\u服务器),python,win32gui,Python,Win32gui,对于从聊天窗口提取文本,我从收集窗口句柄开始。 我通过以下代码实现了这一点: import time, win32gui def callback(hwnd, IEServers): if win32gui.GetClassName(hwnd) == 'Internet Explorer_Server': IEServers.append(hwnd) print "IE server found:", hwnd time.sleep(3) ma

对于从聊天窗口提取文本,我从收集窗口句柄开始。 我通过以下代码实现了这一点:

import time, win32gui
def callback(hwnd, IEServers):
    if win32gui.GetClassName(hwnd) == 'Internet Explorer_Server':
         IEServers.append(hwnd)
             print "IE server found:", hwnd
time.sleep(3)
mainHwnd = win32gui.GetForegroundWindow()
IEServers = []
win32gui.EnumChildWindows(mainHwnd, callback, IEServers)
for serv in IEServers:
    print win32gui.GetClassName(serv)
接下来我要做的是将内容(内部html?)作为字符串获取

我相信这可以通过IHTMLDocument2对象完成。 信息:


如何做到这一点?

你可以试试这样的方法。也许不完全是你想要的,但应该让你走上正轨:

import time, win32gui
import win32com.client

time.sleep(2)
mainHwnd = win32gui.GetForegroundWindow()

s = win32com.client.Dispatch("Shell.Application")
for w in s.Windows():
    if int(w.Hwnd) == mainHwnd:
        print w.LocationURL
        print w.Document.body.innerText
        print w.Document.body.innerHTML
        break    

我认为innerText是您想要的,但我包含了几个属性,因此您可以选择。当然,这只适用于IE。

这不起作用。这个窗口是一个更大的界面的一部分,它不是internet explorer\u服务器类。我一定是误解了你的情况。对不起,没用。