关于python的PAM30

2011-02-16  张东升 

      使用这个模块有一些时间了,也尝试着用它来编写脚本操,用以操作IE浏览器做自动化测试,如果不是很复杂,这个模块可以胜任。
      如何模拟IE操作,我已经写过一篇帖子,其实非常简单,但是模块对中文的支持不好,对frame的支持也不好,今天要和大家分享的就是如何解决中文和frame的问题。
     以clickLink(self, name)这个函数为例,如果直接使用模块提供的这个函数,那么中文的链接是不会有效果的,好在源代码可以随意方便的修改,而我并没有直接修改,而是仿写了一个clickLinkByCN(self,name),具体代码如下:
        def clickLinkByCN(self,name):
        links = self._ie.Document.links.length
        for i in range(links):
            if self._ie.Document.links[i].innertext.encode('utf-8')==name:     这句话是关键
                return self.clickElement(self._ie.Document.links[i])

      看到了吧,其实很简单,只要修改这一句,便能支持中文链接。
      说到frame,模块无法获得它里面的控件,不过没有关系,我们可以直接请求frame载入的内容,做到这一点,只需要一个navigate(self, url)函数即可,我们通过这个函数直接去申请frame要载入的内容,这样一来,浏览器中显示的内容就会成为原本被嵌入到frame中的内容,这时对页面的操作就将畅通无阻。
     
422°/4216 人阅读/1 条评论 发表评论

赵云峰  2011-02-16

python  正在自学... 请多指教...


登录 后发表评论