win32gui 获取窗口内容(internet explorer_server)
Posted
技术标签:
【中文标题】win32gui 获取窗口内容(internet explorer_server)【英文标题】:win32gui get window content (internet explorer_server) 【发布时间】:2013-04-28 14:38:09 【问题描述】:为了从聊天窗口中提取文本,我从收集窗口句柄开始。 我通过以下代码设法做到了这一点:
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
如何做到这一点?
【问题讨论】:
【参考方案1】:你可以试试这样的。也许不完全是你想要的,但应该让你上路:
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_server 类.. 好吧,我一定误解了你的情况。很抱歉,它没有帮助。以上是关于win32gui 获取窗口内容(internet explorer_server)的主要内容,如果未能解决你的问题,请参考以下文章
Python win32gui 获取窗口中虚拟光标的当前位置
win32api win32gui win32con 窗口句柄 发送消息 常用方法
即使使用 Win32GUI,cx_Freeze 也会闪烁 cmd 窗口
python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作