Ăștia de la Facebook țin minte tot ce am făcut eu pe acolo , iar pe mine mă ‘nervează asta. Știu că pot să șterg contul de tot și să nu îi mai folosesc, dar nu vreau.
Ai o opțiune să ștergi activitățile, din activity log, dar poți șterge doar una câte una. Dai un damblageală până termini, știi ?
Există o extensie de Chrome care până anul trecut făcea treabă cât de cât bună; ștergea posturi , comentarii, poze și like-uri.
Foarte bun, am folosit-o pe aia, dar acum merge foarte prost și am descoperit că Facebook ține minte toate manelele pe care le-am căutat eu pe site-ul lor. Search history. Si Nu, nu vreau să țină minte. Nu îmi fac iluzia că dacă le șterg le șterg din toate locurile lor. Dar vreau ca dacă cineva are acces la contul meu de Facebook din postura de pulifric, să nu poată reconstitui activitatea mea pe acolo, că nu are de ce. Dacă sunt așa de interesant să dea bani la alde Cambridge Analytica , sau să trimită mandat la Facebook, nu doar să dea scroll prin activity history-ul meu.
Am incercat sa fac un script pe bază de selenium, dar la cum își construiesc ăștia de la Facebook HTML-ul e absolut imposibil pentru mine să fac ceva inteligibil.
Poate cineva mai dāștept să se descurce mai bine cu ăla. Succes.
Merge cu Python, dar am eu niste probleme cu driverele pe Windows, așa că a rămas cu bunul Autoit.
Scriptul învață trei clickuri și le da într-una. UI-ul astora se la Facebook e de așa natură că își face mereu refresh in aceeași poziție.
Deschide pagina ta de Facebook la activity log.
Porniți scriptul , duceți mouse-ul in prima poziție la meniul logului. Click stânga memorează poziția și acțiunea de click stânga.
Apoi alegi opțiunea și dai click stânga să o selectezi. Nu mișto mouse-ul de acolo și apeși tab sa memorezi și acțiunea aia.
Apoi în următorul popup, apeși click pentru delete și scriptul se apucă de treabă pentru tine.
Uneori acțiunile sunt blocate de Facebook. No problem , după 20 de acțiuni scriptul face refresh dla pagina și merge din nou.
Pentru al opri trebuie apăsat click dreapta. De mai multe ori, că scriptul are buguri și nu înregistrează acțiunea imediat și nici nu o să îl corectez că nu am timp. Corectati-l voi, dacă vă pasă.
Scriptul ARE multe buguri, dar merge.
Dacă ai nevoie , codul si executabilul sunt aici.
Un clip cu cum sa faci trainul la automatizare – simplu:
Bine, codul e si mai jos, ia cu pâine.
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
$x = 10
$y =10
$sleep = 200
; FIRST COPY POS
TrayTip("Train the program " ,"Left-Click the first action" ,2)
$never = 0
Do
$pos = MouseGetPos()
ConsoleWrite("X="&$pos[0]&",Y="&$pos[1]&@CRLF)
If _IsPressed('01') Then
$never = 1
TrayTip("Selected X="&$pos[0]&",Y="&$pos[1] ,"Set action 2 with TAB" ,2)
Else
ConsoleWrite("Left click to confirm")
EndIf
until $never = 1
; 2ND COPY POS
$never = 0
Do
$pos1 = MouseGetPos()
ConsoleWrite("X1="&$pos1[0]&",Y1="&$pos1[1]&@CRLF)
If _IsPressed('09') Then
TrayTip("Selected N X="&$pos1[0]&",Y="&$pos1[1],"Set Action 3 with left click",3)
$never = 1
Else
ConsoleWrite("press tab to confirm")
EndIf
until $never = 1
; 3RD COPY POS
$never = 0
TrayTip("Executing...","Script runs on Auto. Close with Right click multiple times",3)
Do
$pos2 = MouseGetPos()
ConsoleWrite("X2="&$pos2[0]&",Y2="&$pos2[1]&@CRLF)
If _IsPressed('01') Then
TrayTip("Selected N X="&$pos2[0]&",Y="&$pos2[1],"1","Done")
$never = 1
Else
ConsoleWrite("LEFT CLICK to confirm")
EndIf
until $never = 1
$never = 0
;-*** DO THE ACTION
$count = 0
Do
If _IsPressed('02') Then
$never = 1
ConsoleWrite("SCRIPT ENDED")
endif
$count = $count + 1
sleep($sleep)
MouseMove($pos[0], $pos[1], 10)
If _IsPressed('02') Then
$never = 1
ConsoleWrite("SCRIPT ENDED")
endif
MouseClick("left")
sleep($sleep)
MouseMove($pos1[0], $pos1[1], 10)
If _IsPressed('02') Then
$never = 1
ConsoleWrite("SCRIPT ENDED")
endif
MouseClick("left")
sleep($sleep)
MouseMove($pos2[0], $pos2[1], 10)
If _IsPressed('02') Then
$never = 1
ConsoleWrite("SCRIPT ENDED")
endif
MouseClick("left")
$z = MouseGetPos()
ConsoleWrite("X="&$z[0]&",Y="&$z[1]&@CRLF)
If _IsPressed('02') Then
$never = 1
ConsoleWrite("SCRIPT ENDED")
ElseIf _IsPressed('09') Then
MouseMove(1, 1, 10)
EndIf
if Mod($count, 20) = 0 Then
Send("{F5}")
sleep(2000)
endif
until $never = 1
TrayTip("Program ended","Done!",3)
Func _IsPressed($HexKey)
Local $AR
$HexKey = '0x' & $HexKey
$AR = DllCall("user32","int","GetAsyncKeyState","int",$HexKey)
If NOT @Error And BitAND($AR[0],0x8000) = 0x8000 Then Return 1
Return 0
EndFunc