forked from florentbr/SeleniumBasic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRunCleaner.vbs
More file actions
54 lines (48 loc) · 1.62 KB
/
RunCleaner.vbs
File metadata and controls
54 lines (48 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
' Utility script to
' Call driver.Quit on each active session
' Terminate all the background drivers (chromedriver, iedriver, operadriver, phantomjs)
' Delete the temporary folder (%TEMP%\Selenium)
Sub Main()
Call QuitSessions
Call TerminateDrivers
Call DeleteTemporaryFolder
Wscript.Echo "Done!"
End Sub
'Quits all the registered sessions
Sub QuitSessions()
Err.Clear
On Error Resume Next
Do
GetObject("Selenium.WebDriver").Quit
Loop Until Err.Number
End Sub
'Terminates all the drivers and all the child processes
Sub TerminateDrivers()
names = Array("chromedriver.exe", "iedriver.exe", "operadriver.exe", "phantomjs.exe", "edgedriver.exe")
Set mgt = GetObject("winmgmts:")
On Error Resume Next
For Each p In mgt.ExecQuery("Select * from Win32_Process Where Name='" & Join(names, "' Or Name='") & "'")
For Each cp In mgt.ExecQuery("Select * from Win32_Process Where ParentProcessId=" & p.ProcessId)
cp.Terminate
Next
p.Terminate
Next
End Sub
'Deletes all the files and folders in "%TEMP%\Selenium"
Sub DeleteTemporaryFolder()
Set sho = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
folder = sho.ExpandEnvironmentStrings("%TEMP%\Selenium")
If fso.FolderExists(folder) Then
Set folderObj = fso.GetFolder(folder)
On Error Resume Next
For Each subfolderObj in folderObj.SubFolders
subfolderObj.Delete True
Next
For Each fileObj in folderObj.Files
fileObj.Delete True
Next
folderObj.Delete True
End If
End Sub
Call Main