Wikipedia:WikiProject User scripts/Scripts/VBS/Savewatchlisttofile
(Redirected from User:Smallman12q/VBS/Savewatchlist)
'Author: Smallman12q (http://en.wikipedia.org/wiki/User:Smallman12q)
'Date: Feb 21, 2012
'Desc: Sample VBscript for logging into English wiki, saving watchlist to file, logging out, and closing IE
'Usability: This is a sample, tutorial script. It does not include error handling.
'URL: http://en.wikipedia.org/wiki/User:Smallman12q/VBS/Savewatchlist
Option Explicit
''''''''''''''''''''''''''User Set Variables'''''These can be changed
Dim user,userpass,watchlistfilename
user = "user"
userpass = "userpass"
watchlistfilename = "Watchlist.txt" 'Will save to Desktop, Will overwrite file if it exists
''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''
'Login
Dim oIE
Set oIE = CreateObject("InternetExplorer.application")
With oIE
.Visible = True
.Navigate ("https://en.wikipedia.org/w/index.php?title=Special:UserLogin")
End With
Do Until oIE.ReadyState = 4 'readystate 4 = done loading
wscript.sleep 200
Loop
With oIE.Document.forms("userlogin")
.wpName.Value = user
.wpPassword.Value = userpass
.submit
End With
'Wait 2 seconds to show user we've logged in
WScript.Sleep 1000
'Go to raw watchlist
oIE.Navigate ("https://en.wikipedia.org/wiki/Special:EditWatchlist/raw")
Do Until oIE.ReadyState = 4 'readystate 4 = done loading
wscript.sleep 200
Loop
'Get Watchlist data
Dim itm
Set itm = oIE.document.getElementById("mw-input-wpTitles")
'Write data to file on desktop
if NOT (itm is nothing) Then
Dim oFSO, WriteData, desktop
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
Desktop= WSHShell.SpecialFolders("Desktop")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set WriteData = oFSO.CreateTextFile(desktop & "\" & watchlistfilename, true, true) 'Overwrite in Unicode
WriteData.WriteLine(itm.Value)
WriteData.Close
'To do: Clear out variables
End If
'Ask if to logout
If msgbox ("The Watchlist has been saved. Do you want to log out?", vbYesNo, "Logout Prompt") Then
'Logout
oIE.Navigate ("https://en.wikipedia.org/w/index.php?title=Special:UserLogout")
Do Until oIE.ReadyState = 4 'readystate 4 = done loading
wscript.sleep 200
Loop
'Ask if to close window
If msgbox ("You have been logged out. Would you like to close IE?", vbYesNo, "Close IE Prompt") Then
oIE.Quit
End if
End if