VBScript 检测 Facebook IE window,按赞并关闭 window
VBScript to detect Facebook IE window, press Like and close the window
我尝试制作一个脚本来检测在 Facebook 上打开的 IE window 并点击“赞”按钮。
假设我打开了 10 个 IE。其中只有一个在 Facebook 的页面上。
我希望我的脚本检测到 IE window,单击此按钮:
IE.Document.getElementById("pagesHeaderLikeButton")
(上面的按钮是点赞按钮)
并关闭 IE window。
我试图通过以下方式获取 IE window:
For Each wnd In CreateObject("Shell.Application").Windows
If InStr(1, wnd.FullName, "iexplore.exe", vbTextCompare) > 0 Then
Set IE = wnd
Exit For
End If
Next
但这只会将我的 VBscript 设置为第一个打开的 IE,它不会找到 Facebook window。
我试过这个:
Dim objInstances, item
Set objInstances = CreateObject("Shell.Application").windows
For Each item In objInstances
If Item.Name Like "*Internet*" And Item.document.URL Like "*facebook.com*" Then
IE.Document.getElementById("pagesHeaderLikeButton").Click
End If
Next
但是我得到了"Sub or function not defined"
以下代码将搜索在其 URL 中具有 "facebook.com" 的打开的 IE windows,并将它们保存在一个集合中:
Dim getIE As New Collection
For Each Item In CreateObject("Shell.Application").Windows
If Item.Name Like "*Internet*" And Item.document.URL Like "*facebook.com*" Then
getIE.Add Item
End If
Next
然后您可以遍历该集合并对 IE 项目执行您想要的操作:
For Each itemIE In getIE
itemIE.Document.getElementById("pagesHeaderLikeButton").Click ' For example
Next itemIE
希望这能如您所愿! ;)
下一个代码片段可能有所帮助:
Set shApp = CreateObject( "shell.application")
With shApp
For Each wnd In .Windows
If InStr(1, wnd.FullName, "iexplore.exe", vbTextCompare) > 0 Then
If InStr(1, wnd.document.URL, "facebook.com", vbTextCompare) > 0 Then
Wscript.Echo "THIS:"
End If
Wscript.Echo Left( wnd.document.URL, 70)
End If
Next
End With
输出示例(有更多facebook.com
匹配):
==>cscript D:\VB_scripts\SO717779a.vbs
http://www.msn.com/?ocid=iehp
THIS:
https://www.facebook.com/login.php?api_key=127760087237610&skip_api_lo
THIS:
https://www.facebook.com/literarnifestival1
THIS:
https://cs-cz.facebook.com/mgvsetin
http://www.bing.com/search?q=Xmaster+Official&qs=n&form=QBRE&pq=xmaste
http://www.bing.com/search?q=%22Xmaster+Official%22&qs=n&form=QBRE&pq=
==>
For Each wnd In CreateObject("Shell.Application").Windows
If InStr(wnd.Name,"Internet") Then
if InStr(wnd.Document.URL,"facebook.com") Then
Set IE2 = wnd
Exit For
End If
End If
Next
所以按下按钮将是这样的:
Set Butlike = IE2.Document.getElementsByTagName("button")
For Each btn In Butlike
If btn.type = "submit" Then btn.Click()
Next
我尝试制作一个脚本来检测在 Facebook 上打开的 IE window 并点击“赞”按钮。 假设我打开了 10 个 IE。其中只有一个在 Facebook 的页面上。 我希望我的脚本检测到 IE window,单击此按钮:
IE.Document.getElementById("pagesHeaderLikeButton")
(上面的按钮是点赞按钮)
并关闭 IE window。
我试图通过以下方式获取 IE window:
For Each wnd In CreateObject("Shell.Application").Windows
If InStr(1, wnd.FullName, "iexplore.exe", vbTextCompare) > 0 Then
Set IE = wnd
Exit For
End If
Next
但这只会将我的 VBscript 设置为第一个打开的 IE,它不会找到 Facebook window。
我试过这个:
Dim objInstances, item
Set objInstances = CreateObject("Shell.Application").windows
For Each item In objInstances
If Item.Name Like "*Internet*" And Item.document.URL Like "*facebook.com*" Then
IE.Document.getElementById("pagesHeaderLikeButton").Click
End If
Next
但是我得到了"Sub or function not defined"
以下代码将搜索在其 URL 中具有 "facebook.com" 的打开的 IE windows,并将它们保存在一个集合中:
Dim getIE As New Collection
For Each Item In CreateObject("Shell.Application").Windows
If Item.Name Like "*Internet*" And Item.document.URL Like "*facebook.com*" Then
getIE.Add Item
End If
Next
然后您可以遍历该集合并对 IE 项目执行您想要的操作:
For Each itemIE In getIE
itemIE.Document.getElementById("pagesHeaderLikeButton").Click ' For example
Next itemIE
希望这能如您所愿! ;)
下一个代码片段可能有所帮助:
Set shApp = CreateObject( "shell.application")
With shApp
For Each wnd In .Windows
If InStr(1, wnd.FullName, "iexplore.exe", vbTextCompare) > 0 Then
If InStr(1, wnd.document.URL, "facebook.com", vbTextCompare) > 0 Then
Wscript.Echo "THIS:"
End If
Wscript.Echo Left( wnd.document.URL, 70)
End If
Next
End With
输出示例(有更多facebook.com
匹配):
==>cscript D:\VB_scripts\SO717779a.vbs
http://www.msn.com/?ocid=iehp
THIS:
https://www.facebook.com/login.php?api_key=127760087237610&skip_api_lo
THIS:
https://www.facebook.com/literarnifestival1
THIS:
https://cs-cz.facebook.com/mgvsetin
http://www.bing.com/search?q=Xmaster+Official&qs=n&form=QBRE&pq=xmaste
http://www.bing.com/search?q=%22Xmaster+Official%22&qs=n&form=QBRE&pq=
==>
For Each wnd In CreateObject("Shell.Application").Windows
If InStr(wnd.Name,"Internet") Then
if InStr(wnd.Document.URL,"facebook.com") Then
Set IE2 = wnd
Exit For
End If
End If
Next
所以按下按钮将是这样的:
Set Butlike = IE2.Document.getElementsByTagName("button")
For Each btn In Butlike
If btn.type = "submit" Then btn.Click()
Next