解决方案 »
- VB6.0繁体中文版,在线紧急求助,在线等!~
- 在线等待,急求vba 创建指定字符集的csv文件的例子,比如shift_jis
- 請問高手在VBA中如果获得今天处在今年的第几周?
- 聘:现场评奖投票软件开发
- 谢谢[VirtualDesktop(吴滂)]帮忙解决了这个问题[找人做个VB6的小程序],请进来取分
- gb2312 字符能变 utf-8 吗?
- 关于recordset的问题!!!
- 我的电脑上VB保存文件时为什么出乱码?
- 亲家当产,寻答案,输出到打印机方面!!!!!!
- winsock问题--------菜鸟级.......
- 真心求指导:vb传递结构体 给dll问题 如题
- VB spread6.0 设置单元格背景颜色如何不覆盖网格分割线的颜色
getElementsByTagName("button")(0),如果页面只有一个button标签那么直接用0,否则的话自己分析看是第几个法二:
getElementsByClassName("pn vm")(0),分析同上。firefox平台才有这个方法法三:
这样的一般都放在表单里面的,表单一般都有id或者name的,直接用 表单.submit即可。法四:
遍历所有的标签,用if x.type以及x.classname判断是否是你需要的。
Set ie = CreateObject("InternetExplorer.Application")
然后用的ie.Document.getElementById方法.
直接用ie.document.button(n).click不可以的吧?我原先本来就试了下webbrowser中的方法搬到 ie对象 直接用,试过是不行.提示"不支持该方法":
--------------------------------
Set ie = CreateObject("InternetExplorer.Application")
Dim i As IntegerFor i = 0 To ie.All.length - 1 '检查所有标Set vTag = ie.All(i)'这里原来是WebBrowser1.Document.all,这是用另一种方法实现自动登录(见附后后),只是这种方法貌似没有getElementById的方法神速!于是我设想把两种方法结合起来---失败了!If vTag.Type = "submit" Then
vTag.Click
End IfNext i
------------------------------另一种方法我指类似:
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1 '检查所有标签If UCase$(vDoc.All(i).tagName) = "INPUT" Then '如果找到INPUT标签
Set vTag = vDoc.All(i)
If vTag.Type = "text" And vTag.Name = "u" Then '找到网页代码里的type name
vTag.Value = "123"
End If
If vTag.Type = "submit" Then '1.因为就一个提交按钮,2.因为没有Name 所以不用 - -!
'vTag.Click
End If
End If
Next i
---------------------
基本是最简单的方法了 因为登录页面基本来说源代码都不会变,因此这个按钮的编号也不会变的
如果源代码真变了的话 那任何一种方法都可能不再可靠 都还需要重新分析页面修改代码
谢谢!!
谢谢!
另外楼主你仔细搜索下 这个登录按钮确实是源代码中第二个出现的按钮 只不过第一个按钮用的拼写是input 第二个用的是button
谢谢!
另外讨教个技巧,大家有没有用chrome?用chrome审查元素的话,有没有什么办法把所有被折叠起来的内容都一次性自动展开的?我找了下没找到.
谢谢!
你用这个吧 一般来说只要他的登录页面没有大的变化 这个语句都可以继续用
索引位置没用过,不会.
标签遍历比较麻烦,还要画个webbrowser
有些弹出窗查看下元素好像会显示是个frame?
那是像getElementsByClassName("pn vm")(0)一样,是不是也有getElementsByDivName("xxxxx")(0)还是怎么呢?
参考文章:
http://blog.csdn.net/sysdzw/archive/2009/08/19/4463844.aspx能猜想联想是很好的,需要到手册查阅验证下,dhtml手册下载:
http://download.csdn.net/source/1660838
创建对象Dim dom As HTMLDocument
这样就能看到所有对象 方法和属性
For i = 0 To ie.All.length - 1 Set vTag = ie.All(i)'这里原来是WebBrowser1.Document.all,这是用另一种方法实现自动登录(见附后后),只是这种方法貌似没有getElementById的方法神速!于是我设想把两种方法结合起来---失败了!If vTag.Type = "submit" Then
vTag.Click
End IfNext i
--------------------
提示我不能没有这种方法(也就是说ie.all(i)是不可以的?),我就以为ie.document.Forms(1).submit 这种也不能用的
If vTag.tagname="button" and vTag.Type = "submit" and vTag.classname="pn vm"Then
vTag.Click
exit for
End IfNext i
要好好学习下.谢谢!学习了,高手们今天教了我好多,占用你们时间了.非常感谢!!这里论坛里能不能追加分的?开贴的时候定的分不多.感谢高手们!我好像还有分的,想追加下.
莪用这句才能执行getElementsByTagName("button")[0]