Convert iMacros to AutoHotKey [TagIE]





🎦TagIE new feature, Record fast📼, convert🔃, Modify and Replay in TagiE😉
Record iMacros and convert it to AutoHotKey [TagIE] https://github.com/adegard/TagIE.ahk
#imacros #zmacro #autoposting #instagram #followersaktif #postinganhits #automaticwatch #shopee #lazada #unfollowers #autofollowers

Re-publish old Blog Posts Randomly on FacebookGroups and Linkedin





Social Media Sharer functions for TagIE Browser Automation
Works withTagIE Editor and Functions, version 1.1.04 (and above)
https://github.com/adegard/TagIE.ahk/

Code source of this example:


#include TagIE.ahk  
#include TagIE_Social_sharing.ahk

;Social Media Sharer functions for TagIE Browser Automation
;Works withTagIE Editor and Functions, version 1.1.04 (and above)
;https://github.com/adegard/TagIE.ahk/
 

String := "growth hacking,autohotkey,automation,Robotic Process Automation"

Cate := []      ; creates initialy empty OBJECT (simple array)
Loop, parse, String, `,
Cate.Insert(A_LoopField)      ; inserts elements in object

;Randomize category to republish*******************
Random, numcat, 1, 4

caturl :="https://simplestipsandtricks.blogspot.com/search/label/"Cate[numcat]

tnav(caturl,"")

Sleep, 3000

; Shows posts number
Max:=pwb.document.getElementsByClassName("post-title entry-title").length

;Randomize post to republish*********************
Random, num, 3, Max

selector =#Blog1 > div.blog-posts.hfeed > div:nth-child(%num%) > div > div > div > h3 > a

tclick(selector, 0)

Sleep, 3000

    WinActivate ahk_class IEFrame
    ControlFocus, Internet Explorer_Server1, ahk_class IEFrame
    pwb := PWB_Init(WinTitle) ; replaces WinGetTitle and PWB_Get()

Link:=pwb.LocationURL  ;grab current url

techo(Link)
 
;*************Post on LINKEDIN**************
linkedinprof(Link)

Sleep, 1000

;*************Post on various FACEBOOK groups**************
fbgroup(Link, "seo")
Sleep, 1000

;**************Post on various FACEBOOK page*************************
fbpage(Link, "Pc-Dream") 

Sleep,1000


ExitApp
Esc::ExitApp 

📱Instagram Liker and Follower🤖 for Hashtag list [TagIE]





Instagram Liker and Follower for Hashtag list [TagIE] -
Code Source: 




#include TagIE.ahk 

;Like and Follow for posts on Hashtags:
;launch it daily on 2-5 posts and for 5 to 10 hashtag
;(you must save password before)
;put hashtag list (one by row) in a file: \hashtags.txt
;(search correlate hashtag from https://www.all-hashtag.com)
;original idea from @talymo https://github.com/talymo/instaAutomate
;@adegard - Works with TagIE version 1.1.04 (please check yours)

    ; Get list of hashtags from hashtags text file 
    hashtags := Object()
    Loop, read, % A_ScriptDir "\hashtags.txt"
        hashtags[A_Index] := A_LoopReadLine

    ; How many posts we want to like
    Posts = 3 

    ; How many posts we have liked
    LikedPosts = 0;

            ; Set Variables for Like action Interval (x100 millisec)
            low = 2
            high = 40

    For i in hashtags {

        ; The hashtag we want to like
        hash := hashtags[i]

        StringReplace , hash, hash, %A_Space%,,All

        HashTag := hash

        ; Stuff we need for the script to work
        myUrl = https://www.instagram.com/explore/tags/%HashTag%/
      
        tnav(myUrl,"")
        Sleep 3000

        ; Loop through n  posts
        Loop, %Posts% {

 selector =#react-root > section > main > article > div.EZdmt > div > div > div:nth-child(2) > div:nth-child(%A_Index%) > a > div > div._9AhH0

 tclick(selector, 0)

            Random, Time_To_Wait, low, high
 Time := Time_To_Wait * 500
 techo(Time " millisec")
               Sleep, Time


 ;heart clicking
 tclick("glyphsSpriteHeart__outline__24__grey_9 u-__7", 0)

            Random, Time_To_Wait, low, high
 Time := Time_To_Wait * 500
 techo(Time " millisec")
               Sleep, Time
 
 ;click on Follow
 tclick("oW_lN _0mzm- sqdOP yWX7d       ", 0)
 
 ;cancel action to avoid unfollow
 tclick("aOOlW   HoLwm ", 0)

            Random, Time_To_Wait, low, high
 Time := Time_To_Wait * 500
 techo(Time " millisec")
               Sleep, Time

 ;close post
 tclick("ckWGn", 0)

        }

}

;send yourself telegram msg when finish


Sleep, 5000
pwb.Quit()
ExitApp

Esc::ExitApp

Exporting Table to CSV with TagIE





how to extract (Scrap) entire table in TagIE (AutoHotKey RPA)
Source:



#include TagIE.ahk  
url := "https://finance.yahoo.com/quote/%5EDJI/history?p=%5EDJI"
tnav(url,"")
tscroll("table", 0)
table2csv("DOW.csv")


Sleep, 5000
pwb.Quit()
ExitApp

;see demo, here: https://youtu.be/3At6jI1Ip1E
 

TagIE download:
https://github.com/adegard/TagIE.ahk

Facebook Multi Groups posting in AutoHotkey (TagIE)





Facebook Multi Groups posting in AutoHotkey (TagIE) https://github.com/adegard/TagIE.ahk 

 

Job/Ads AutoResponder with TagIE part 1





How to automate posting responses on Job or Ads website like Kijiji.it. Here you will see an example of script. We avoid to double send to the same post author by saving url in text file. TagIE_Editor: https://github.com/adegard/TagIE.ahk

Code:

#include TagIE.ahk

;Kijiji autoresponder (respond to any ads for Job, Marketing...). Adapt it to any Ads/Post websites
;It avoid double-responses of job posting by saving urls file database file
;Last button SUBMIT is disabled, so you can try it safe ;-)

;parameters
dbFileName= kijiji_urls.txt
name = Paolo
email = email@gmail.com
message  ="Buongiorno, ho trovato il suo annuncio e mi sono detto che potrebbe avere bisogno di assistenza domiciliare... se conosce qualcuno che ha bisogno di una badante, visita il nostro sito www.badante-noproblem.com  Grazie Non rispondere a questo messaggio perche stato generato automaticamente."

;convert to array
Array := [ name, email, message]

;check if Database fie exist, if not, create it
ifnotexist,%dbFileName%
{
 TestString := "This is url list.`r`n"  
 Fileappend,%TestString%`r`n,%dbFileName%
}

;go first to the correct category
tnav("https://www.kijiji.it/offerte-di-lavoro/offerta/badante/?entryPoint=sb","")

loop, 10  ;how many items
{

myurl:=pwb.document.getElementsByClassName("cta").item[A_Index].getAttribute("href") ;gets the value of an attribute

 FileRead, OutputVar, %dbFileName%
 
 IfInString, OutputVar , %myurl%
 {
  ;Url already exist in database
 }
 else
 {
 FileAppend, %myurl%`n, %dbFileName% 
  
 ;Go to the url

selector = body > div:nth-of-type(4) > div:nth-of-type(2) > div:nth-of-type(1) > ul > li:nth-of-type(%A_Index%) > div > h3 > a

tclick(selector, 0)

 Sleep, 1000
  
  
 ;insert data
tscroll("name", 0) 
Sleep, 1000
tenter(Array[1], "name", 0)
Sleep, 1000
tenter(Array[2], "email", 0)
Sleep, 1000
tenter(Array[3], "message", 0)
Sleep, 1000
 
  
tclick("body > main > section:nth-of-type(1) > div:nth-of-type(2) > aside > article:nth-of-type(3) > article > div > form > label:nth-of-type(1) > div", 0)
tclick("body > main > section:nth-of-type(1) > div:nth-of-type(2) > aside > article:nth-of-type(3) > article > div > form > label:nth-of-type(2) > div", 0)

;SUBMIT DISABLED  
;tclick("body > main > section:nth-of-type(1) > div:nth-of-type(2) > aside > article:nth-of-type(3) > article > div > form > footer > input", 0)

  Sleep, 3000

  pwb.document.parentWindow.history.go(-2) ;Go Backward one page
  Sleep, 1000
  
  
 } ; END , go next

 
 Sleep, 100

} ;LOOP
Sleep, 1000

pwb.Quit()

Esc::ExitApp
ExitApp  

How to get Selectors, Tags for IE Automation AHK



HOW To get IE DOM Selector/HTML elements? Use one of those tools:
-use Chrome Inspector 
-use iWB2 learner: http://the-automator.com/download/iWB2_Learner.exe 
-use IE DOM Selector tool: 
x32: https://github.com/adegard/TagIE.ahk/blob/master/IE_selector.exe 
x64: https://github.com/adegard/TagIE.ahk/blob/master/IE_selector_x64.exe 
(Use Right Click to copy to clipboard and paste it in "Tag" or "element" in following functions)

WANT TO AUTOMATE? ---> https://github.com/adegard/TagIE.ahk


TagIE example: Internet Explorer Automation with AutoHotKey


FEATURES of TagIE:

-Simplify your IE automation Scripts with simple readable functions with TagIE.ahk :D

-TagIE auto-waits for a webpage element to appear and interacts with it as soon as it appears

-Tooltip Show Steps

-Element identifier can be id, tagname, classname, or Selector (use Chrome Inspector for that)

LIST OF FUNCTIONS:
  • tnav("website", "option") : Navigate to webpage ; option: empty: minimized; "max" : Maximized window
  • tclick("tag") : Enter value in Tag field. Tags: Selector (use Chrome Inspector) or id, or name, or class. Insteat of double Quotes, use singlo quotes in Selector (ie "input class='nameclass'")
  • tenter("text", "tag") : Enter value in Tag field. Tags: Selector (use Chrome Inspector) or id, or name, or class
  • tread("tag") : fetch/read element text to variable. Tags: Selector (use Chrome Inspector) or id, or name, or class. Insteat of double Quotes,
  • tsnap() : take snapshot and save it in jpg in "screenshot folder" (require Irfanview)"
  • tselect("value", "ele"): SelectDropdown value
  • tscroll("ele"): Scroll page to element

Code example: Auto_responder Kijji:



#include TagIE.ahk

;Kijiji autoresponder (respond to any ads for Job, Marketing...). Adapt it to any Ads/Post websites
;It avoid double-responses of job posting by saving urls file database file
;Last button SUBMIT is disabled, so you can try it safe ;-)

;parameters
dbFileName= kijiji_urls.txt
name = Paolo
email = email@gmail.com
message  ="Buongiorno, ho trovato il suo annuncio e mi sono detto che potrebbe avere bisogno di assistenza domiciliare... se conosce qualcuno che ha bisogno di una badante, visita il nostro sito www.badante-noproblem.com  Grazie Non rispondere a questo messaggio perche stato generato automaticamente."

;convert to array
Array := [ name, email, message]

;check if Database fie exist, if not, create it
ifnotexist,%dbFileName%
{
 TestString := "This is url list.`r`n"  
 Fileappend,%TestString%`r`n,%dbFileName%
}

;go first to the correct category
tnav("https://www.kijiji.it/offerte-di-lavoro/offerta/badante/?entryPoint=sb","")

loop, 10  ;how many items
{

myurl:=pwb.document.getElementsByClassName("cta").item[A_Index].getAttribute("href") ;gets the value of an attribute

 FileRead, OutputVar, %dbFileName%
 
 IfInString, OutputVar , %myurl%
 {
  ;Url already exist in database
 }
 else
 {
 FileAppend, %myurl%`n, %dbFileName% 
  
 ;Go to the url

selector = body > div:nth-of-type(4) > div:nth-of-type(2) > div:nth-of-type(1) > ul > li:nth-of-type(%A_Index%) > div > h3 > a

tclick(selector, 0)

 Sleep, 1000
  
  
 ;insert data
tscroll("name", 0) 
Sleep, 1000
tenter(Array[1], "name", 0)
Sleep, 1000
tenter(Array[2], "email", 0)
Sleep, 1000
tenter(Array[3], "message", 0)
Sleep, 1000
 
  
tclick("body > main > section:nth-of-type(1) > div:nth-of-type(2) > aside > article:nth-of-type(3) > article > div > form > label:nth-of-type(1) > div", 0)
tclick("body > main > section:nth-of-type(1) > div:nth-of-type(2) > aside > article:nth-of-type(3) > article > div > form > label:nth-of-type(2) > div", 0)

;SUBMIT DISABLED  
;tclick("body > main > section:nth-of-type(1) > div:nth-of-type(2) > aside > article:nth-of-type(3) > article > div > form > footer > input", 0)

  Sleep, 3000

  pwb.document.parentWindow.history.go(-2) ;Go Backward one page
  Sleep, 1000
  
  
 } ; END , go next

 
 Sleep, 100

} ;LOOP
Sleep, 1000

pwb.Quit()

Esc::ExitApp
ExitApp  

Come delegare in modo efficace e ottenere di più del tuo Team?

Molti imprenditori e manager non sanno come delegare in modo efficace o non sono disposti a farlo a meno che non siano assolutamente obbligati. Non si rendono conto che la delega è la chiave principale della produttività.

 Il bene più prezioso che hai è il tempo. Non importa cosa devi fare, ma il tempo continua a passare e non puoi fare tutto da solo.

 Quindi, se sei a disagio per delegare, o senti che non puoi lasciare andare le responsabilità, spero che alla fine di questo capitolo, tu possa affrontare l'argomento in modo diverso e delegare in modo efficace.

 Cos'è la delega?

Delegare efficacemente significa assegnare dellai responsabilità a un dipendente, per svolgere compiti o attività specifici. La delega, se effettuata correttamente, aiuta a motivare i dipendenti, risparmia denaro e tempo e forma gli altri in competenze nuove.

 Perché i grandi leader delegano in modo efficace?

Guarda qualsiasi grande leader nel tuo settore o paese, e posso assicurarti che conoscono l'arte di delegare efficacemente. Dico in modo efficace, perché la delega di compiti è un'abilità che viene appresa e migliorata nel tempo.

 Se sei riluttante a delegare, magari citando parole come "Se vuoi farlo correttamente, devi farlo da solo", quindi buona fortuna! Avrai un carico di lavoro schiacciante e non sarai mai in grado di lavorare a progetti più grandi.

 Delegare non è sempre facile, e il processo non è sempre chiaro. Potrebbe essere necessario cambiare il processo di delega occasionalmente e imparare a migliorare costantemente, ma ne vale la pena! Quanto prima inizi, tanto prima svilupperai la capacità di delegare in modo efficace.

 Quattro passaggi per delegare in modo efficace:


In primo luogo, è necessario scegliere i compiti giusti da delegare. Una volta che hai fatto ciò, devi identificare le persone giuste per delegarli. Quindi fornisci istruzioni e monitora i progressi e, infine, rivedi i risultati.


Cosa dovresti delegare? Ci sono molte attività che sono delegabili. Altre no, come ad esempio, attività sensibili e specialistiche. Quando si considera un'attività da delegare, inizia ponendo queste domande: È assolutamente fondamentale che io faccia questo compito da solo? C'è qualcuno nella mia squadra con l'esperienza giusta per completare questo compito? È un compito stabile nel tempo? Questa attività offre l'opportunità di sviluppare le capacità di un'altra persona?


A chi dovrei delegare? Non tutte le attività o attività sono uguali. Alcuni potrebbero essere fatti da chiunque e altri sono specializzati e hanno bisogno di competenze e conoscenze specifiche. Devi trovare le persone giuste per i compiti giusti. Abbinare la persona giusta a ogni attività può essere difficile da fare.


IMPORTANTE: Non avere nessun “senso di colpa” quando deleghi le tue attività: Dopotutto, quando cerchi di gestire il tuo tempo per aumentare la tua Produttività, stai incoraggiando la tua squadra ad ampliare il proprio orizzonte e a diventare più preziosa all'azienda!


Vuoi saperne di più? Vai al libro...





MACRO RECORDER Script in AutoHotKey - Mouse+Click+Keys





MACRO RECORDER in AutoHotKey

MACRO RECORDER is a Free Automation Tool and Script Generator. It is based on AutoHotkey language and provides users a simple recorder. 
Easily record without coding: Mouse Moves, clicks and Keys press capture. Just record sequences of what you do. MACRO RECORDER saves all for you in an executable File "macro.ahk" (Autohotkey installed) to re-play all the sequence... Enjoy!
Source code:
https://github.com/adegard/AHK_SCRIPTS


How it works:

Install AutoHotKey :
https://autohotkey.com/
Open Editor of your choice (Notepad++ is great)
save 2 files: macro_recorder_v02.ahk and recorde_keys.ahk in the same directory
launch macro_recorder_v02.ahk
Ctrl+R to RECORD
Ctrl+D to STOP RECORDING
Replay Macro: Open "macro.ahk" just created
ESC to escape from player

Come Aumentare la tua Produttività?





L'hai già sentito dire da altri autori che pretendono conoscere dei metodi miracolosi per migliorare la loro produttività e smettere di essere schiavo della loro vita professionale….

Stavolta, è diverso, non c’è niente di MIRACOLOSO, utilizzo personalmente queste tecniche e ho voluto sintetizzarle in questo libro...
https://amzn.to/2PIYrbz

Save Your Financial A$$ - C P A Noura Salman's Financial Course

8-module Financial Course Covering The Best Financial And Tax Strategies For Business Owners To Use. Sells For $997. Make $150 Per Sale! Includes: 8 Videos (covering 4 Hours Of Dense Content) 8 Detailed Outlines And 8 Action Steps


more info...


Amazon com Holy Stone GPS FPV RC Drone H

Buy it now: https://amzn.to/2OawNkO