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 に答える