为了从聊天窗口中提取文本,我开始收集窗口句柄。 我通过以下代码管理:
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
怎么做?
答案 0 :(得分: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。