设为首页 收藏本站
查看: 936|回复: 0

[经验分享] 在IE中使用Python作为开发脚本

[复制链接]

尚未签到

发表于 2017-4-28 12:44:59 | 显示全部楼层 |阅读模式
IE中使用Python作为开发脚本



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



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



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

<script language=”python”>



#Python代码



</script>



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



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



首先从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.pypythonpyscript_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" >

</form>



</BODY></HTML>



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





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



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

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


参考资料

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-370446-1-1.html 上篇帖子: script python / TurboGears / Django / Pylons / ZOPE 下篇帖子: 【转】 在IE中使用Python作为开发脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表