在IE中使用Python作为开发脚本

在IE中使用Python作为开发脚本

目前IE支持的客户端脚本语言常见的有VBScript和JavaScript,这两种脚本语言在操作页面元素方面基本能满足一般应用的需要,可通过和COM集成来获得扩展功能。

本文提供一种将Python作为IE客户端脚本语言的方法,利用Python的简洁和可扩展性使web应用在客户端可实现更好的交互。也可用Python内置的网络功能,更容易地实现AJAX的功能。

根据在IE中使用javascript的语法,可以猜到在IE中使用Python的语法是:

<script language=”python”>

#Python代码

</script>

当IE执行这段代码时,需要调用Python的解释器来执行<script
language=”python”></script>之间的代码,因此要让IE识别Python代码,就需要告诉IE在何处查找Python解释器。

这个功能在Python for Windows Extension中已经实现,该扩展除客户端脚本支持外,还包括服务器端脚本、COM、Windows
GUI支持。

首先从Python的老家www.python.org下载一个Python安装包,按后安装到本地硬盘,假设Python安装在c:\python24,并将该路径加到环境变量PATH中。详细的安装参见Python手册。

然后到http://starship.python.net/crew/mhammond/下载一个Python for Windows Extension,它是一个安装包,安装时要求指定Python的安装目录,安装包会将一些文件安装到c:\Python24\lib\site-packages目录下。

切换到命令行模式,到目录C:\Python24\Lib\site-packages\win32comext\axscript\client目录下,运行python pyscript.py和python
pyscript_rexec.py,将Python windows Script注册到windows中,使IE能识别HTML代码中的python脚本。

下面是一个在IE中运行python的代码,要运行它,只要保存在一个htm文件中,然后用IE打开,点击OK按钮,将显示3次对话框。

<HTML>

<BODY>

<H1>Embedded code demo: Python</H1>

<SCRIPT Language="Python">

def show():

for i in range(3):

alert("Python in IE ===> %d" % i)

</SCRIPT>

<form name="fm">

<input name="b1" type="button" value="OK" onclick="show()">

</form>

</BODY></HTML>

因为Python的语法要求,def show()必需从第一列开始,前面不能有空格或TAB来缩进代码。

在IE中运行Python脚本虽可获得Python的强大功能,但要求IE所在机器必须安装Python解释器和Python
for Windows Extension。这限制了在一般Web应用上使用的可能性。但可以在以下的模式中使用。

客户端用IE作为运行容器,Python解释器和windows extension作为系统一部分安装在客户端,甚至有本地数据库,对数据库的操作在Python脚本中完成,需要和服务器端交互时,再用Python脚本来完成和服务器端的数据交换。这种模式集成了C/S和B/S的优点,客户端不需要安装专门的客户端软件,另外不需要时时连接到服务器,不需要管理session等状态信息,可脱机完成业务后再连接服务器发送或获取数据。

相对于AJAX中用XMLHTTP来实现网络功能,Python能提供更好更强的功能,并且编码更简洁。

参考资料

Mark Hammond , Andy Robinson Python Programming on Win32 , 2000 O'Reilly

时间: 2024-10-11 15:19:02

在IE中使用Python作为开发脚本的相关文章

在Mac OSX中搭建Python集成开发环境图解

本篇博客分享如何在Mac OSX系统中搭建Python集成开发环境 首先到Python官网下载python,python官网链接 这里选择下载Python2.7.9版本,下载完成之后安装: 安装成功,打开终端: 下面下载python开发的ide,http://www.jetbrains.com/pycharm/ 下载专业版,有30天的免费试用,足够我们学习python了. 安装,将Pycharm拖动到mac应用程序中 创建第一个Python项目: 运行python文件 来源:51CTO

在Linux中通过Python脚本访问mdb数据库的方法

  这篇文章主要介绍了在Linux中通过Python脚本访问mdb数据库的方法,本文示例基于debian系的Linux系统,需要的朋友可以参考下 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式 ? 1 DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:dirfile.mdb 安装 这里我们需要借助一些库来实现第三方的驱动 我们需要安装这些包:mdbtools,

使用python编写批量卸载手机中安装的android应用脚本_python

该脚本的功能是卸载android手机中安装的所有第三方应用,主要是使用adb shell pm.adb uninstall 命令,所以使用的前提是需要配好adb的环境变量,下面上代码: #!/usr/bin/env python import os def uninstall(): os.popen("adb wait-for-device") print "start uninstall..." for packages in os.popen("adb

在Mac OS上搭建Python的开发环境

  一. 安装python mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可能就不够了,因此我们需要重新安装python.这里有两种方案安装: 1.homebrew ? 1 brew install python 这个方案比较简单,如果出错的话可以给前面加sudo试试,这个安装的python可能不是最新版. 2.从官网下载安装 大家可以从https://www.python.org/download下载安装最新版的python,安装比较无脑,一路按下去就O

《Python爬虫开发与项目实战》——第2章 Web前端基础 2.1 W3C标准

第2章 Web前端基础 爬虫主要是和网页打交道,了解Web前端的知识是非常重要的.Web前端的知识范围非常广泛,不可能面面俱到和深入讲解,本章主要是抽取Web前端中和爬虫相关的知识点进行讲解,帮助读者了解这些必备的知识,为之后的Python爬虫开发打下基础. 2.1 W3C标准 如果说你只知道Web前端的一个标准,估计肯定是W3C标准了.W3C,即万维网联盟,是Web技术领域最具权威和影响力的国际中立性技术标准机构.万维网联盟(W3C)标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组

《Python爬虫开发与项目实战》——第3章 初识网络爬虫 3.1 网络爬虫概述

第3章 初识网络爬虫 从本章开始,将正式涉及Python爬虫的开发.本章主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫:另一部分是HTTP请求的Python实现,帮助大家了解Python中实现HTTP请求的各种方式,以便具备编写HTTP网络程序的能力. 3.1 网络爬虫概述 本节正式进入Python爬虫开发的专题,接下来从网络爬虫的概念.用处与价值和结构等三个方面,让大家对网络爬虫有一个基本的了解.3.1.1 网络爬虫及其应用 随着网络的迅速发展,万维网成为大量信息的载体,如

《Python爬虫开发与项目实战》——2.3 小结

2.3 小结 本章主要讲解了Web前端中标记语言.脚本语言和HTTP的基本概念,在这些知识中,重点掌握HTML标记语言.XPath路径表达式的书写和HTTP请求流程,这对接下来的Python爬虫开发有着非常直接的作用,有助于爬虫开发的快速入门.本章讲解的只是Web前端的基础知识,希望大家有时间系统地学习Web前端的知识,这样对之后涉及协议分析和反爬虫措施的应对方面有很大帮助.

MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发

2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python udf开发. 前置条件 了解到,虽然功能发布,不过还在公测阶段,如果想要使用,还得申请开通:https://page.aliyun.com/form/odps_py/pc/index.htm.这里我就不介绍申请开通具体流程了. 环境准备 MaxCompute Studio支持Python UDF开发,前提

c++-关于C++中嵌入python 结巴分词

问题描述 关于C++中嵌入python 结巴分词 如题,在c++中想用到python的结巴分词库,我想的是把字符串传入py脚本,分词后再返回,但是会出现各种问题,而且jieba的对象类型不好处理,有没有大神可以提供下思路,有可行代码提供的,直接给分.跪求-- 解决方案 python结巴分词python中文分词:结巴分词 解决方案二: 如果觉得C++直接调用py脚本来处理,对象类型等不是很好处理,可以用一个中间介质的方式 把字符串写入文件,然后调用py脚本来处理,同样py脚本处理完写入另一个文件,