繁体   English   中英

win32gui获取窗口内容(互联网explorer_server)

[英]win32gui get window content (internet explorer_server)

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

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

这个怎么做?

您可以尝试这样。 也许不是您想要的,但应该可以助您一臂之力:

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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM