VBA在网页自动化中有天然的优势,直接在EXCEL表格就能开始。可以直接将表格的内容填入网页中,对于很多需要上网页频发填写内容的行业非常适用。
VBA控制网页自动化最简单就是使用IE浏览器,但win10以上的版本IE都被淘汰了,合并到EDGE上。即使如很多网上攻略所说从EDGE上分离出来,也驱动不了。那怎么办?在偶然的机会上,发现360就是IE的天然替代者,360可以当IE来用,速度也还可以,(缺点大家都懂,有点流氓)。
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate "https://XXXXX.com/"
' 等待网页加载完成
Do While ie.Busy Or ie.readyState <> 4
DoEvents
Loop
'点登录
Dim divs As Object
Set divs = ie.Document.getElementsByClassName("login-text")
For Each di In divs
di.Click
Next
' 等待网页加载完成
Do While ie.Busy Or ie.readyState <> 4
DoEvents
Loop
Application.Wait (Now + TimeValue("0:00:02"))
'输入账号、密码
ie.Document.getElementById("pcd_login_input_box_name").Value = "账号"
ie.Document.getElementById("pcd_login_input_box_key").Value = "XXXX"
Set divs2 = ie.Document.getElementsByClassName("login-btn-text")
For Each di2 In divs2
di2.Click
Next
Application.Wait (Now + TimeValue("0:00:02"))
' 等待网页加载完成
(2)组合键win+r,cmd
操作
,输入ipconfig,查找自己电脑的IP
(3)打开手机设置,找到手机端无线网络,进行手动代理设置,填入自己电脑IP,以及fiddler端口号
(4)fiddler中点击AutoResponder工具,进行如下
操作
如:第一个输入框输入“taobao”
(5)如图第四步选择红框选项(之所以选择这个选项,是因为这个选项可以
黄晨 · 5
因为在知乎的一些答案,最近总有私信问我如何使用
VBA
网抓的,我基本都没有回复。因为这个问题太大了,对于有基础的人来说,自己百度或者上ExcelHome论坛其实很容易找到答案,并不需要我说什么,而对于没有基础的人来说,三言两语不可能解决问题,我也不想把私信变成聊天窗。借着知乎开放专栏的机会,正好来仔细交代一下这个问题。
Set objShell = CreateObject("Shell.Application")
For n = 1 To objShell.Windows.count
Set objie = objShell.Windows(n)
If Right(UCase(objie.FullName), 12) = "IEXPLORE.EXE" Then
If (0
以Winland的天气预报为例,假如我的程序需要这样一个东西,我该如何下爪:
1、打开http://www.17u.cn
2、点击“天气预报”,打开:http://www.17u.cn/tianqi
3、查一个城市试试,此时结果找到了,但网址没变。
4、点击Maxthon的viewpage。
5、在“框架”中,发现一个“内嵌框架”,点击打开。发现原来天气预报的网址为:
http://www.17u.cn/WeatherInfoIfm.aspx?CityName=%e5%ae%9c%e6%98%8c
6、下一步,在我们自己的程序中就可以使用这个网址,直接来查询了。
综上所述,通过Maxthon,我们可以很方便地找到我们所需要的真正的网址。
在viewpage中还有一个“表单”,里面很清楚地显示了Name,method,以及Action。我理解这个Action就是“结果
网页
”的网址的后半部分(不知对不对?)。
(在
网页
的表单里面Action是目标地址,就是处理这些递交内容的服务器端脚本。 如果Action为空的话,就是当前文件。)
InternetExplorer
控制
的准备(库的添加)
Microsoft HTML Object Library,Microsoft Internet Controls的添加方法。
为了用Excel
VBA
对IE进行
控制
而执行宏的时候,Excel初期会发生错误。为了可以
操作
IE,我们必须要添加用来使用HTMLDocument对象的库(COM组件),首先我们讲一下为了能够使用库,在VBE的“引...