python3下的IE自动化模块PAMIE

简介: PAMIE是Python下面的用于IE的自动化模块,支持python2和python3,python3的下载地址:http://sourceforge.net/projects/pamie/files/PAMIE/PAM3.0%20for%20Python%203.0/ PAMIE是Python Automated Module for I.E. 的缩写。
PAMIE是Python下面的用于IE的自动化模块,支持python2和python3,python3的下载地址: http://sourceforge.net/projects/pamie/files/PAMIE/PAM3.0%20for%20Python%203.0/
PAMIE是Python Automated Module for I.E. 的缩写。
 
简单的例子:
# To use Pamie you must first create a new script or text file that you can saveas mytest.py. 
# This will import the cPAMIE class file so you can use it's methods 
from cPAMIE import PAMIE 
# create a new instance of the PAMIE object 
ie = PAMIE( ) 
# Lets navigate to google - this methods takes a string as the URL 
ie.Navigate("'www.google.com" ) 
ie.textBoxSet("q", "python" ) #control name, value 
# Now Submit the form. 
ie.buttonClick("'btnG" ) 

      但是我们实际使用中,实际上会碰到许多的控件。如,input ,radio ,checkbox.

下面针对不同控件给出函数列表, 大家看名字大概就应该明白是干什么的. 权当手册使用吧,呵呵 :

状态控制
       实际应用中,需要考虑IE的状态,比如访问一个网页,随即进行操作,在网页未下载完成的情况下,容易出错
       PAMIE 则考虑到下面的情况     
  1. _wait()  : 等待整个页面下载完成
  2. _frameWait() :  等待一个frame下载完成
  3. _docGetReadyState:  获取文档对象的状态
复制代码

TextArea
  1. getTextArea (name):  获取一个textarea,可能使用 id,name 或者 index
  2. getTextAreaValue(name, attribute):  获取一个textarea的属性值
  3. getTextAreasValue() 获取所有textarea
  4. setTextArea(name): 给textarea赋值
  5. textAreaExists(name): 查看指定名称的textarea 是否存在
复制代码

Input
  1. getTextBox(name):
  2. getTextBoxValue(name, attribute):
  3. getTextBoxes():
  4. getTextBoxesValue()
  5. setTextBox( name, value):
  6. getInputElements():
复制代码

Button
  1. buttonExists(self, name):  检查一个button是否存在
  2. clickButton(self, name):  点击一个按钮, name 可以是 name,id,index甚至是value属性的值
  3. clickButtonImage(self, name):  同上,点击一个图片按钮
复制代码

Radio
  1. getRadioButton(name):
  2. def getRadioButtonSelected(name):
  3. getRadioButtonValues(name):
  4. getRadioButtons():
复制代码

CheckBox
  1. checkBoxExists(self, name): 检查一个单选框是否存在
复制代码

ListBox
  1. getListBox(name):
  2. getListBoxItemCount(name):
  3. getListBoxOptions(name):
  4. getListBoxSelected(name):
  5. getListBoxValue(name, attribute):
  6. listBoxUnSelect(name, value):
  7. selectListBox(name, value):
复制代码

Image
  1. getImage( name):
  2. getImageValue(name, attribute):
  3. getImages():
  4. getImagesValue( attribute):
  5. imageExists(name):
复制代码

form
  1. formExists( name):
  2. getForm( name=None):
  3. getFormValue( name, attribute):
  4. getFormVisibleControlNames( name=None):
  5. getForms():
  6. getFormsValue( attribute):
复制代码

a
  1. clickHiddenLink( name):
  2. getLink( name):
  3. getLinkValue( name, attribute):
  4. getLinks( filter=None):
复制代码

table
  1. getTable( name):
  2. getTableData( name):
  3. getTableRowIndex( name, row):
  4. getTableText(tableName,rownum,cellnum, frameName=None):
  5. getTables( filter=None):
  6. tableCellExists( tableName, cellText):
  7. tableExists( name):
  8. tableRowExists( name, row):
复制代码

div
  1. divExists( name):
  2. getDiv( name):
  3. getDivValue( name, attribute):
  4. getDivs():
  5. getDivsValue( attribute):
复制代码

通用 Element
  1. clickElement( element):  点击一个节点。
  2. clickHiddenElement( element):
  3. findElement( tag, attributes, val, elementList=None):
  4. findElementByIndex( tag, indexNum, filter=None, elementList=None):
  5. findText( text):
  6. fireElementEvent( tag, controlName, eventName):
  7. textFinder(text):
  8. getElementChildren( element, all=True):
  9. getElementParent( element):
  10. getElementValue( element, attribute):
  11. getElementsList( tag, filter=None, elementList=None):
复制代码

操作类函数:
      用于控制IE的动作
  1. navigate( url):
  2. changeWindow( wintext):  转而控制另外一个窗体对象
  3. pause( string = "Click to Continue test"):
  4. goBack(self):
  5. findWindow( title, indexNum=1):
  6. closeWindow( title=None):
  7. refresh(self):
  8. resize( iWidth, iHeight):
  9. quit(self):
复制代码

信息资源类:
       获取当前IE的属性
  1. getIE(self):
  2. getPageText(self):
  3. locationURL(self):
  4. outerHTML(self):
  5. randomString( length):
复制代码

最后给大家奉上 Win32Com, PAM30
相关文章
|
4天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
14天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
20天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
15 2
|
16天前
|
存储 缓存 算法
Python中collections模块的deque双端队列:深入解析与应用
在Python的`collections`模块中,`deque`(双端队列)是一个线程安全、快速添加和删除元素的双端队列数据类型。它支持从队列的两端添加和弹出元素,提供了比列表更高的效率,特别是在处理大型数据集时。本文将详细解析`deque`的原理、使用方法以及它在各种场景中的应用。
|
1天前
|
Python
python学习14-模块与包
python学习14-模块与包
|
3天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
7天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
8天前
|
索引 Python
「Python系列」Python operator模块、math模块
Python的`operator`模块提供了一系列内置的操作符函数,这些函数对应于Python语言中的内建操作符。使用`operator`模块可以使代码更加清晰和易读,同时也能提高性能,因为它通常比使用Python内建操作符更快。
25 0
|
11天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
28 6
|
12天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。

热门文章

最新文章