Python操作IHTMLDocument2用于自动化测试

发表于:2010-06-30来源:作者:点击数: 标签:pythonPython自动化
Python操作IHTMLDocument2用于 自动化测试 软件测试 有些软件的界面采用Win32窗口嵌套一个IE控件,用Spy++只能识别出一个Internet Explorer_Server控件。常用的几个API函数无法取到IE控件里面的内容,更无法对里面的控件进行操作,所以这给自动化带来了麻烦

  Python操作IHTMLDocument2用于自动化测试 软件测试

  有些软件的界面采用Win32窗口嵌套一个IE控件,用Spy++只能识别出一个Internet Explorer_Server控件。常用的几个API函数无法取到IE控件里面的内容,更无法对里面的控件进行操作,所以这给自动化带来了麻烦。本文将讲述如何使用Python获取 IHTMLDocument2接口,用于自动化测试。

  获取 IHTMLDocument2接口

  参考:http://support.microsoft.com/kb/249232

  相应的Python实现代码如下:

  #!/usr/bin/env python

  #coding:utf-8

  __author__ = 'CoderZh'

  import sys

  # Important for multithreading

  sys.coinit_flags = 0 # pythoncom.COINIT_MULTITHREADED

  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)

原文转自:http://www.ltesting.net