python win32 api document.getElementById错误

时间:2018-07-10 06:26:50

标签: python winapi

import win32com
import win32com.client
import win32gui
import win32con
import pythoncom

def getIEServer(hwnd, ieServer):
    if win32gui.GetClassName(hwnd) == 'Internet Explorer_Server':
        ieServer.append(hwnd)

if __name__ == '__main__':
    #pythoncom.CoInitializeEx(0) # not use this for multithreading
    mainHwnd = win32gui.FindWindow('windowclass', 'windowtitle')
    if mainHwnd:
        ieServers = []
        win32gui.EnumChildWindows(mainHwnd, getIEServer, ieServers)
        if len(ieServers) > 0:
            ieServer = ieServers[0]
            msg = win32gui.RegisterWindowMessage('WM_HTML_GETOBJECT')
            ret, result = win32gui.SendMessageTimeout(ieServer, msg, 0, 0,     win32con.SMTO_ABORTIFHUNG, 1000)
            ob = pythoncom.ObjectFromLresult(result, pythoncom.IID_IDispatch, 0)
            doc = win32com.client.dynamic.Dispatch(ob)
            print doc.url
    #        doc.all['id'].click()

您可以使用以上代码获得doc(文档对象) 如果您尝试doc.getElementById ("some-id") 我收到类似下面的错误。

TypeError: getElementById () takes 1 positional argument but 2 were given

它将出现在IE11中 请帮我T0T〜

p.s问题的类型与建议的答案不同。 我想我需要修复pywin32中的错误。

0 个答案:

没有答案