win32gui获取窗口内容(internet explorer_服务器)

2024-09-29 19:26:37 发布

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

对于从聊天窗口提取文本,我首先收集窗口句柄。 我通过以下代码做到了这一点:

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对象来完成。 信息:http://support.microsoft.com/kb/q249232

怎么做?在


Tags: 代码文本importiftimedefcallback句柄
1条回答
网友
1楼 · 发布于 2024-09-29 19:26:37

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

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。在

相关问题 更多 >

    热门问题