generere en liste over udestående safari øje med applescript,,,,, om du er en blogger arbejder på en roundup eller en studerende laver noget research, du har sikkert løbe ind i behovet for at skabe en liste over websteder, baseret på deres nuværende åbne safari øje.lad os lære at skrive en applescript, der vil klare denne proces for os.,,,,, en prøve af det manuskript skal produktion baseret på åbne øje på safari.hvad skal vi lære, at vi kommer til at skrive manuskriptet er faktisk ret enkelt, så hvis du bare komme i gang med applescript, det er den perfekte projekt til at skære tænder på. om du rent faktisk har brug for et værktøj, der vil skabe en liste over safari øje er irrelevant.det vigtige er at lære af, hvordan vi skal forholde os til denne opgave. det vigtigste er at lære af, hvordan vi skal forholde os til denne opgave, vil vi ramme om en række applescript konstruktioner, der er kritiske i deres tur til at blive en automatisering pro: variabler "gentagelse" loops, med strenge, at tegn og en masse mere.,, trin 1.skabe en algoritme, den første ting du gerne vil gøre, når de arbejder med programmering projekt er at se, om du kan tegne en algoritme.det lyder ret skræmmende, men det er bare en smart måde at sige, at vi er nødt til at arbejde på trin i, hvad vi skal gøre. det er bare en smart måde at sige, at vi er nødt til at arbejde på trin i, hvad vi skal gøre, er at skabe en. algoritme til vores projekt, er vi nødt til at have en grundlæggende forståelse af to ting: det endelige mål og de foranstaltninger, som er nødvendige for at nå det.den sidste del er en smule indviklet, fordi det kræver en specifik viden om, hvordan man håndterer problemet fra en programmering perspektiv, som kan være intuitiv afhængigt af, hvordan din hjerne virker. målet, lad os først analysere vores mål, hvad ønsker vi at opnå?slutresultatet er, at jeg gerne ville skyde på en textedit dokument, der indeholder en liste over de åbne øje på safari.hvert tab skal være formateret som en html forbindelse med titel af det tekniske vurderingsorgan, at forbindelsen tekst, som dette:, < en href = "www.siteurl. com" > regning titel < /a >, processen med dette mål for øje, kan vi begynde at skitsere vores algoritme ved at tænke igennem de processer, der skal ske, for at opnå dette mål.på dette tidspunkt, skal du ikke bekymre dig om perfektion.vi vil forbedre denne proces som mentalt, vi støder på udfordringer i forbindelse med kodning proces, er det kun for at hjælpe os med at få en fornemmelse af, hvad vores manuskript ud.,, tælle antallet af safari vinduer, tælle antallet af tekniske vurderingsorganer i hvert vindue, skabe en sløjfe, som går igennem hver tab af hvert vindue, - navnet på den nuværende regning, tag url af den nuværende regning, opbevarer regning navn, url og andre ønskede tekst i en variabel, der er åbne textedit, skaber et nyt dokument, der er teksten i det nye dokument, at den variabel, der indeholder vores strøm af oplysninger, trin 2.skabe en safari - blok, nu hvor vi har vores grundlæggende holdning til de skridt, som vi skal kræve, at det er tid til at springe i koder.den første adskillige skridt i vores algoritme, alle havde at gøre med safari, så den første ting, vi er nødt til at gøre vores manuskript, er at skabe en fortælle blokere for safari., [applescript], fortæl anvendelse "safari", fortæller [/applescript], til blokke er, hvordan vi mål, der, hvad er det, at vi taler med vores manuskript, i dette tilfælde er anvendelsen safari.,,, tip:, glem ikke at lukke sig blokke med "slut fortælle", dit manuskript vil kaste en fejl, uden at dette.,, trin 3.skabe grundlæggende variabler, en af de første ting, jeg kan lide at gøre i et manuskript, er at skabe de variabler, som jeg ved, jeg skal bruge.dette er med til at sætte scenen for resten af manuskriptet og holder tingene. på dette punkt, og jeg ved, at jeg får brug for at oprette tre forskellige variabler: en for vinduet tæller, én for regningen tæller, og for den deraf følgende dokument tekst., tab med variabel skal ajourføre, som vi cyklus igennem vinduerne, så skal indføjes i en sløjfe, men de andre, at vi kan tage sig af nu., [applescript], fortæl anvendelse "safari", - - variabler, der windowcount antallet af ruder, der er doctext "", fortæller [/applescript], at vinduet tæl efter den bemærkning, de første linje kode skaber en variabel "windowcount".bemærker, at det er meget beskrivende, ikke noget generiske som "myvariable".prøver altid at navngive din variabler noget nyttigt, så læsbarheden af manuskripter er fortsat høj,.,, applescript er kommandoer er ofte meget tæt på engelsk, hvilket gør det meget nemt sprog for begyndere til at hente hurtigt.,, syntaks for at tælle vinduerne er meget enkle: (variabel) antal ruder.applescript er kommandoer er ofte meget tæt på engelsk, hvilket gør det meget nemt sprog for begyndere til at hente hurtigt. de doctext variabel, en del om den kode ovenfor, er, at jeg har skabt en tom snor variabel, hvorfor skulle jeg gøre det?derfor vil være mere klar senere, men dybest set vores gentage, vil gå igennem, og tilføje noget til det, hver gang vi har brug for et sted at starte.du kan ikke tilføje noget til en variabel, der findes ikke!,, trin 4.første gentager blok, at trække vores mål, vi skal bruge to gentager blokke.logikken bag det er lettere at få dit hoved, hvis du arbejde indefra.,, logikken bag det er lettere at få dit hoved, hvis du arbejde indefra og ud., er vores mål at få titlen og url fra et teknisk vurderingsorgan, gentages for hver regning (gentager - blok).det er dog, at der kan være mere end et åbent vindue, så vi er nødt til at gentage denne proces for hvert vindue (gentager blok). igen, det troede proces indefra og ud, hvordan vi skal arbejde, så vi starter med "hvert vindue" gentag blok., [applescript], fortæl anvendelse "safari", - - variabler, der windowcount antallet af ruder, der er doctext ""... gentages for hvert vindue, jeg gentager med x fra 1 til windowcount, der tabcount antallet af tekniske vurderingsorganer i vindue x, gentager, fortæl, [/applescript], gentages med en simpel gentager blok kan sige sådan noget som "gentag 5 gange", men vi har ikke gjort noget lidt mere kompliceret."gentager med" konstruktion giver os mulighed for at oprette en forsætligt generisk variabel (x), som vil tilvækst, hver gang gentage blok væk., for dette arbejde, vi er nødt til at fortælle vores script start og stop for x, som det cyklusser gennem sin iterationer.hvad jeg har gjort, er at begynde på 1 x fortalte applescript, så øges, indtil den rammer en værdi svarende til antallet af åbne vinduer, udtrykt som den variabel, som vi, der er oprettet før.,, jeg brugte denne konstruktion, fordi det er vores gentager blok meget alsidig.,, jeg brugte denne konstruktion, fordi det er vores gentager, block meget alsidig.hvis det tæller fire vinduer, gentager, block vil løbe fire gange, hvis det tæller 50, block vil løbe 50 gange. med de tekniske vurderingsorganer, næste gang, jeg gentager, at vi brugte før processen for vinduet tæller at fastsætte en variabel til antallet af tekniske vurderingsorganer i den aktuelle vindue, til at trække. det, jeg var nødt til at trække i x - variabel.kan du huske, at denne variabel vil stige, hver gang gentage blok væk.så den første gang, vi skal tælle antallet af tekniske vurderingsorganer i vinduet, anden gang, vi skal tælle antallet af tekniske vurderingsorganer i vindue to osv.), trin 5.anden gentager blok, nu hvor vi har endnu en blok, der vil gennemgå hvert vindue, er vi nødt til at indsætte en ny gentager blok i, at undersøge enhver regning.de to sammen, vil være i stand til at smadre alle tab af hvert vindue., mens vi er her, skal vi også oprettet nogle variabler for de næste skridt., [applescript], fortæl anvendelse "safari", - - variabler, der windowcount antallet af ruder, der er doctext ""... gentages for hver vindue, jeg gentager med x fra 1 til windowcount, der tabcount antallet af tekniske vurderingsorganer i vinduet, x - gentages for hver regning i aktuelle vindue, jeg gentager med y fra 1. til tabcount, - - få regning navn & url, der tabname med navnet på regning y vindue x, der er taburl til url af tab. vindue x, gentager, gentager, fortæl, [/applescript], gentages for hver regning i aktuelle vindue, som du kan se, er dette gentager blokken anvender tilsvarende syntaks til, hvad vi tidligere har set.vi har allerede talt om antallet af tekniske vurderingsorganer i det foregående trin, så sætter vi den gentager blok at gå fra den 1. til den tabcount, ved hjælp af den generiske forøgelse af variable y, tag fane navn & url, til at afslutte dette skridt, vi har indledt to variabler.syntaksen af disse er næsten identiske, er der kun én tager navn af den nuværende tab og de andre tager url.jeg fandt den specifikke syntaks for disse ordrer på safari applescript ordbog, bemærke, at få navn og url af den nuværende regning, er vi simpelthen ved hjælp af x - og y - variabler, som tillæg, hver gang gentage blok væk.så første gang, vi tager navn og for regning af en url vindue, så betaler to vindue, så måske regning et vindue to osv. trin 6.fyld doctext snor, huske, at tom doctext variabel, der skabte vi før?nu skal vi fylde den op med den tekst, som vi ønsker for hver angivelse på vores liste.hver gang gentage blok i titlen og url af det nuværende tab vil blive føjet til de variable ved hjælp af html formatering, der er skitseret ovenfor. koden, for dette er den mest komplicerede syntaks, som vi har mødt så langt, se nedenfor, og så går jeg. - du ved, hvordan det fungerer. [applescript], fortæl anvendelse "safari", - - variabler, der windowcount antallet af ruder, der er doctext ""... gentages for hvert vindue, jeg gentager med x fra 1 til windowcount, der tabcount antallet af tekniske vurderingsorganer i vinduet, x - gentages for hver regning i aktuelle vindue, jeg gentager med r fra 1 - tabcount, - - få regning navn & url, der tabname med navnet på regning y vindue x, der er taburl til url af regning y vindue x, der er doctext til doctext & ¬ "< et href = "&". "" & ¬, taburl & "og" > "& ¬, tabname & ¬" < /a > "& ¬, linefeed som snor, gentager, gentager, fortæl, [/applescript], forurening, den første ting, du behøver at vide er, at forurening (at lægge ting sammen) i applescript håndteres via »og« - tegn.i ovenstående eksempel, jeg vil tilføje en masse forskellige ting for variablen, hver gang, så jeg bruger »og« - tegn til at forbinde alle brikkerne, øger den variabel, bemærker, at jeg sætter doctext variabel "doctext &..." en masse andre ting.hvorfor ville jeg sætte en variabel til sig selv?hvad det gør, er at fortælle applescript, som jeg ønsker at sætte doctext variabel alt allerede er oplagret, og nogle andre ting.,, der ved udgangen af denne variabel indeholder hele indholdet af, hvad der vil blive indføjet i vores textedit dokument.,, på denne måde, hver gang gentage blok er løbe igennem igen, jeg tilføjer, at denne variabel, og lade det vokse frem for at erstatte dens indhold.ved udgangen af denne variabel indeholder hele indholdet af, hvad der vil blive indføjet i vores textedit dokument., pauser og linefeeds, er der to forskellige former for linjeskift i kode ovenfor.den første er en række overfladiske linjeskift, at jeg i min kode i et forsøg på at gøre det lidt mere læselig.jeg ville gerne gøre det klart, at flere forskellige stykker tilføjes til de variable individuelt. "¬" symbol kan være skrevet i applescript med alternativ + tilbage, og viser, at den pause, blot er en visuel og burde ikke faktor i, hvordan kodeksen er at løbe. i virkeligheden om, - det er en enkelt linje kode, som jeg normalt ville skrive som følger: [applescript] er der fastsat doctext til doctext & "< en href =" & "." "& taburl &" og ">" & tabname &. "< /a >" & linefeed som snor, [/applescript] meddelelse ved afslutningen af denne linje kode er ordet "linefeed".i modsætning til de overfladiske linjeskift ovenfor, dette er noget, som jeg faktisk have tilføjet til variabel.ved udgangen af hver post, jeg sætter en linefeed, så de næste liste punkt vil begynde på en ny linje., strenge & flygtede personer, de underlige ting om html tekst, som vi forsøger at tilføje er, at den indeholder citater, der faktisk anvendes af applescript at angive begyndelse og afslutning i en snor, som så: [applescript] er der fastsat mystring til "andre rotte rådne hut" [/applescript], her har vi indledt en variabel og fyldte det med en tekst.teksten er omgivet af citater og fortæller applescript, at variablen er af typen snor. så hvis applescript bruger citater til at omringe tråde, hvordan skal vi opbevare citater, som en del af en snor?svaret er "flugt" citerer tegn med en backslash 9 som så: [applescript] er der fastsat mystring "/" potageske rotte rådne hytte, "" [/applescript] i det første eksempel, indholdet af de variable var som følger: andre rotte rådne hytte (opbevaret uden citater).In the second example, the variable actually contained a set of quotes: "Ladle rat rotten hut".,Putting it All Together,Given all of the information that we just learned, here are the individual pieces that are being inserted into our variable and stuck together., ,<a href=",tabURL,">,tabName,</a>,linefeed, ,When all of these items are put together and the script is repeated for every tab in every window, we should have a list that is formatted exactly like the goal that we set out at the beginning., <a href="www.siteurlone.com">Tab One Title Here</a> <a href="www.siteurltwo.com">Tab Two Title Here</a> <a href="www.siteurlthree.com">Tab Three Title Here</a>, , Step 7. skabe teksten dokument, nu hvor vi har alle disse oplysninger opbevares i en passende variabel, det er tid til at gøre noget ved det.In our case, we want to throw it into a text document.,To do this, create a new tell block for TextEdit like so:,[applescript], tell application "Safari",--Variables, \tset windowCount to number of windows, \tset docText to "",--Repeat for Every Window, \trepeat with x from 1 to windowCount, \t\tset tabcount to number of tabs in window x,--Repeat for Every Tab in Current Window, \t\trepeat with y from 1 to tabcount,--Get Tab Name & URL, \t\t\tset tabName to name of tab y of window x, \t\t\tset tabURL to URL of tab y of window x,set docText to docText & "<a href=" & "\\"" & tabURL & "\\">" & tabName & "</a>" & linefeed as string, \t\tend repeat,end repeat, end tell,--Write Document Text, tell application "TextEdit", aktiver, få nye dokument, som teksten foran dokument til doctext, fortæl, [/applescript], i textedit sige blok, jeg har gjort tre ting: for det første, jeg sagde til anvendelse til" aktiver ", som blot bringer det til forgrundsviden, så du kan se frugterne af dit arbejde. næste, jeg fortalte textedit for at skabe et nyt dokument.endelig er jeg endt manuskriptet med teksten i det nye dokument, at den variabel, der holder vores liste over links.,, prøve det med, at vores manuskript er færdig!hvis du har holdt så længe, tillykke, du har allerede skrevet mere applescript end det store flertal af mac - brugere og kan betragte dig selv en elite medlem af mac - nørd., at afprøve manuskriptet, sørg for, at du har en safari med flere tekniske vurderingsorganer og flere vinduer, der forskellige websteder.når du har det oprettet, simpelthen på play knappen i applescript at se magien ske.,,, tip:, prøv at redde en version, som en ansøgning, så du kan hurtigt løbe den, når du vil.,, problemløsning, uundgåeligt, mange af dem vil nå dette punkt og slog fejl.noget gik galt, men hvad?i de fleste tilfælde svaret vil være noget så enkelt som en trykfejl.er du sikker på, du trådte ind i manuskriptet, præcis som det står over?applescript typisk forsøg på at påpege, at det specifikke problem med dig, følge sin rådgivning og skrive det problematiske linje.,, applescript typisk forsøg på at påpege, at det specifikke problem med dig, følge sin rådgivning og skrive det problematiske linje. desværre er det muligt, at du har indtastet alt korrekt og stadig modtager en fejl.måske er der et problem med din version af safari eller måske manuskriptet kan ikke lide websider valgte du af en eller anden grund.prøve at ændre på tingene og se, om du kan finde problemet., behandling af fejl er en temmelig store emne, som jeg vil dække indgående i en kommende artikel, for nu at tage et kig på vores artikel om avanceret applescript teknikker for flere oplysninger om, hvordan du kan ændre det til at træffe specifikke foranstaltninger, når en fejl er smidt., konklusion, jeg gik igennem hele processen med at skrive en applescript til at generere en liste over links fra dit åbne øje på safari.dette vil redde dig masser af problemer på de store forskningsprojekter. forhåbentlig på vej, du lærte mig mange gode ting om, hvordan man applescript og automatisering af enkle, men gentagne opgaver.hvis du har nogle spørgsmål, så de er fri til at gå, en bemærkning nedenfor eller slå os på twitter.
skabe en liste over udestående safari øje med applescript
Next Page:få styr på dit macs clipboard