Below is a code I use to search through some tables on a website and pull an email and phone number. It works perfectly, however it is long and sloppy. Can someone with more experience than myself show me how this could be cleaned up and made simpler? Thanks!!!!
Code: Select all
#Persistent
ESC::Reload
F1::
pwb := WBGet()
A1 =
A2 =
A3 =
A4 =
A5 =
A6 =
A7 =
A8 =
A9 =
A10 =
A11 =
A12 =
A13 =
A14 =
A15 =
A16 =
A17 =
A18 =
A19 =
A20 =
EMAIL =
PHONE =
Try
{
A1:=pwb.document.GetElementsByTagName("TD")[14].InnerText
A2:=pwb.document.GetElementsByTagName("TD")[20].InnerText
A3:=pwb.document.GetElementsByTagName("TD")[26].InnerText
A4:=pwb.document.GetElementsByTagName("TD")[32].InnerText
A5:=pwb.document.GetElementsByTagName("TD")[38].InnerText
A6:=pwb.document.GetElementsByTagName("TD")[44].InnerText
A7:=pwb.document.GetElementsByTagName("TD")[50].InnerText
A8:=pwb.document.GetElementsByTagName("TD")[56].InnerText
A9:=pwb.document.GetElementsByTagName("TD")[62].InnerText
A10:=pwb.document.GetElementsByTagName("TD")[68].InnerText
A11:=pwb.document.GetElementsByTagName("TD")[74].InnerText
A12:=pwb.document.GetElementsByTagName("TD")[80].InnerText
A13:=pwb.document.GetElementsByTagName("TD")[86].InnerText
A14:=pwb.document.GetElementsByTagName("TD")[92].InnerText
A15:=pwb.document.GetElementsByTagName("TD")[98].InnerText
}
IfInString, A1, E-mail:
{
Array := StrSplit(A1,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A2, E-mail:
{
Array := StrSplit(A2,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A3, E-mail:
{
Array := StrSplit(A3,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A4, E-mail:
{
Array := StrSplit(A4,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A5, E-mail:
{
Array := StrSplit(A5,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A6, E-mail:
{
Array := StrSplit(A6,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A7, E-mail:
{
Array := StrSplit(A7,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A8, E-mail:
{
Array := StrSplit(A8,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A9, E-mail:
{
Array := StrSplit(A9,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A10, E-mail:
{
Array := StrSplit(A10,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A11, E-mail:
{
Array := StrSplit(A11,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A12, E-mail:
{
Array := StrSplit(A12,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A13, E-mail:
{
Array := StrSplit(A13,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A14, E-mail:
{
Array := StrSplit(A14,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
IfInString, A15, E-mail:
{
Array := StrSplit(A15,"//","//")
If Array[5] contains Email
{
Phone .= Array[4]
Email .= Array[5]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[4] contains Email
{
Phone .= Array[3]
Email .= Array[4]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
If Array[3] contains Email
{
Phone .= Array[2]
Email .= Array[3]
StringReplace, Email, Email, E-mail:,,All
StringReplace, Phone, Phone, Phone Number:,,All
StringTrimLeft,Email,Email, 1
StringTrimRight,Email,Email, 1
MsgBox %Email% %Phone%
Return
}
}
Msgbox FAIL!!
Return
;************Pointer to Open IE Window******************
WBGet(WinTitle="ahk_class IEFrame", Svr#=1) { ;// based on ComObjQuery docs
static msg := DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, IID := "{0002DF05-0000-0000-C000-000000000046}" ;// IID_IWebBrowserApp
;// , IID := "{332C4427-26CB-11D0-B483-00C04FD90119}" ;// IID_IHTMLWindow2
SendMessage msg, 0, 0, Internet Explorer_Server%Svr#%, %WinTitle%
if (ErrorLevel != "FAIL") {
lResult:=ErrorLevel, VarSetCapacity(GUID,16,0)
if DllCall("ole32\CLSIDFromString", "wstr","{332C4425-26CB-11D0-B483-00C04FD90119}", "ptr",&GUID) >= 0 {
DllCall("oleacc\ObjectFromLresult", "ptr",lResult, "ptr",&GUID, "ptr",0, "ptr*",pdoc)
return ComObj(9,ComObjQuery(pdoc,IID,IID),1), ObjRelease(pdoc)
}
}
}