python+win32+ie浏览器操作
来源:互联网 发布:浩方提示网络传输错误 编辑:程序博客网 时间:2024/05/17 23:52
本来的打算是写一个脚本,能够自动登陆土豆账号,于是就百度标题,找到了一些做法,照葫芦画瓢死活不对。
主要代码可以参考链接:
https://www.baidu.com/link?url=9MujwNCZ47BW8lruNbVqTbjcxFszmP-AQxM_9j0M7Jav-k61z-N57WsfjyEcwL0EqCiux9i17TspbQk0w1bQ1K&wd=&eqid=bbae6242000047550000000457a1bab1
但是getElementById函数不知道为什么出问题,不传参出问题:
File "<COMObject Document>", line 2, in getElementById
File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 287, in _ApplyTypes_
result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
com_error: (-2147352319, 'OLE error 0x80020101', None, None)
传一个参数,又说传了两个,我也是醉了:
doc.getElementById("login")
TypeError: getElementById() takes exactly 1 argument (2 given)
如果有朋友能照上述网页做出来,请务必告诉我。我电脑win8,python 2.7.11,pywin32是对应版本,不知道会不会有影响。
于是死磕这个,问题还是要找到根源。python操作ie实际上是用了COM技术,具体细节我不清楚,大概和DLL相似,因此外面无法直接看到这个对象的用法以及成员等。
然后我接着查资料,发现pywin似乎提供了一些帮助工具,比如makepy,combrowse等,在site-package/win32com中可以找到,也集成到Pythonwin编辑器中了。
打开Pywin32的帮助文档,也可以查到相关东西,比如:
可以看到这样一段:
我也是醉了,使用其中的方法我找到了COM对象的py文件,经过不断阅读这些py文件我发现:Document应该有这个函数,而且用法也对,只不过照那种方式不是对应的对象,使用Document的body就行,代码如下:
# -*- coding:UTF-8 -*-import win32com.clientfrom time import sleepsecond=win32com.client.DispatchEx("InternetExplorer.Application")second.Navigate('http://passport.cnblogs.com/login.aspx')second.Visible=1while second.Busy: sleep(1)doc=second.Documentbody=doc.bodydoc.getElementById("login")for i in body.getElementsByTagName("input"): if i.id=='input1': i.value='13816407285' if i.id=='input2': i.value='59459540a'for i in body.getElementsByTagName("input"): if i.id=='signin': i.click() print 'click'
具体各种bug就不说了,还是要自己多试试
- python+win32+ie浏览器操作
- Pamie模块详解 python操作ie浏览器
- Pamie模块详解 python操作ie浏览器
- C#通过Win32 API操作IE浏览器 --- 获得IE的URL
- C#通过Win32 API操作IE浏览器 --- 获得IE的URL
- vb操作ie浏览器
- vba操作IE浏览器
- C#操作IE浏览器
- 实现IE浏览器全屏幕操作
- Python cPAMIE 模拟IE浏览器
- 用python打开IE浏览器
- Python cPAMIE 模拟IE浏览器
- python操作IE完整版
- python 操作IE
- Python win32口操作Excel
- 【转载】WIN32 应用程序内嵌IE浏览器(注意非MFC)
- python 操作浏览器
- python 操作浏览器
- Retrofit 使用心得 -使用Retrofit2框架下载大文件
- 关于Windows 7 64位系统 HP M1319f 打印机无法扫描的解决办法
- phoenix upsert 源码分析
- 秒表功能
- Android简单扫码APP设计——从欢迎、登陆到主功能界面
- python+win32+ie浏览器操作
- 水池数目
- 将centos 7 自带的 php 5.4升级为 5.6
- 数据挖掘——多层感知器的Python实现
- 使用git出现的错误记录
- OpenCv的一些学习经验
- oj2772 KMP简单应用
- RocketMQ入门(3.发送同步消息之可靠同步发送)
- 【Android】【ViewGroup】多个监听和回调的顺序