1

为了从聊天窗口中提取文本,我从收集窗口句柄开始。我通过以下代码设法做到了这一点:

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

这个怎么做?

4

1 回答 1

0

你可以尝试这样的事情。也许不完全是你想要的,但应该让你上路:

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。

于 2013-04-28T15:13:30.010 回答