在python2.7中利用com机制和dom对象,实现利用浏览器自动操作的一个问题,求指教!!!!

鄂世嘉 发布于 2011/12/14 12:06
阅读 1K+
收藏 0

getElementById( ) 的问题

对比一下两段代码

#-*- coding:utf-8 -*-

import win32com.client, pythoncom

import time

import win32com.client, pythoncom

import time

ie = win32com.client.DispatchEx('InternetExplorer.Application.1')

ie.Visible = 1

ie.Navigate('http://ieeexplore.ieee.org/xpl/periodicals.jsp')

time.sleep( 5 )

ie.Document.getElementById("browse_keyword").value ="Computer"

ie.Document.getElementsByTagName("input")[24].click()

 

 

*************************************************************************

 

import win32com.client, pythoncom

import time

ie = win32com.client.DispatchEx('InternetExplorer.Application')

ie.Visible = 1

ie.Navigate('www.baidu.com')

time.sleep(5)

print 'browse_keword'

ie.Document.getElementById("kw").value ="Computer"

ie.Document.getElementById("su").click()

print 'Done!'

 

第一段代码在运行时会提示如下错误:

ie.Document.getElementById("browse_keyword").value ="Computer"

TypeError: getElementById() takes exactly 1 argument (2 given)

 

而第二段代码则顺利运行。

请问这是为什么呀,在第一段代码中明明也是传入了一个参数,为什么提示给了2个参数呢????

加载中
0
开源中国-扛把子
开源中国-扛把子
经测试IE8 没这个问题, IE9及其他非IE浏览器不行
鄂世嘉
鄂世嘉
多谢验证!多年前的一个问题了,后来用其它方案去做了。看来这种写法兼容性很差。
返回顶部
顶部