{"id":4569,"date":"2011-05-06T10:00:31","date_gmt":"2011-05-06T08:00:31","guid":{"rendered":"http:\/\/tuxproject.de\/blog\/?p=4569"},"modified":"2011-06-03T22:27:21","modified_gmt":"2011-06-03T20:27:21","slug":"imacros-firefox-automatisieren","status":"publish","type":"post","link":"https:\/\/tuxproject.de\/blog\/2011\/05\/imacros-firefox-automatisieren\/","title":{"rendered":"iMacros: Firefox automatisieren"},"content":{"rendered":"<p>Manch\u00admal gibt es beim t\u00e4glichen Inter\u00adnet\u00adguck\u00aden mit Fire\u00adfox Sit\u00adu\u00ada\u00adtio\u00adnen, die sich immer wieder wieder\u00adholen, etwa der t\u00e4gliche Besuch der Lieblings-Nachricht\u00aden\u00adseit\u00aden.<\/p>\n<p>Eine ein\u00adfache L\u00f6sung hier\u00adf\u00fcr ist es, die Arbeit kom\u00adplett dem Sitzungs\u00adman\u00adag\u00ader zu \u00fcber\u00adlassen, die jew\u00adeili\u00adgen Seit\u00aden also gar nicht erst zu schlie\u00dfen. Alter\u00adna\u00adtiv k\u00f6n\u00adnte man, wie ich es selb\u00adst bis vor kurzem tat, Erweiterun\u00adgen wie <a href=\"https:\/\/addons.mozilla.org\/de\/firefox\/addon\/morning-coffee\/\">Morn\u00ading Cof\u00adfee<\/a> ver\u00adwen\u00adden, aber sie lassen es meist an \u00dcber\u00adsichtlichkeit und Flex\u00adi\u00adbil\u00adit\u00e4t man\u00adgeln. Morn\u00ading Cof\u00adfee litt au\u00dfer\u00addem bis Feb\u00adru\u00adar unter Ver\u00adnach\u00adl\u00e4s\u00adsi\u00adgung seit\u00adens des Entwick\u00adlers, in aktuellen Ver\u00adsio\u00adnen von Fire\u00adfox war die Erweiterung nur noch sehr eingeschr\u00e4nkt nutzbar.<\/p>\n<p>Eine m\u00f6gliche Alter\u00adna\u00adtive ist <a href=\"https:\/\/addons.mozilla.org\/de\/firefox\/addon\/imacros-for-firefox\/\">iMacros<\/a>.<\/p>\n<p><a href=\"https:\/\/tuxproject.de\/blog\/wp-content\/uploads\/2011\/05\/iMacros-Aufzeichnen.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tuxproject.de\/blog\/wp-content\/uploads\/2011\/05\/iMacros-Aufzeichnen-141x300.jpg\" alt title=\"iMacros: Aufzeichnen\" width=\"141\" height=\"300\" class=\"alignnone size-medium wp-image-4570\" srcset=\"https:\/\/tuxproject.de\/blog\/wp-content\/uploads\/2011\/05\/iMacros-Aufzeichnen-141x300.jpg 141w, https:\/\/tuxproject.de\/blog\/wp-content\/uploads\/2011\/05\/iMacros-Aufzeichnen-56x120.jpg 56w, https:\/\/tuxproject.de\/blog\/wp-content\/uploads\/2011\/05\/iMacros-Aufzeichnen.jpg 160w\" sizes=\"auto, (max-width: 141px) 100vw, 141px\"><\/a><\/p>\n<p>Wie es der Name schon andeutet, r\u00fcstet iMacros Makro\u00adfunk\u00adtion\u00adal\u00adit\u00e4t im Brows\u00ader nach, es lassen sich also beliebige Aktio\u00adnen aufze\u00adich\u00adnen und jed\u00aderzeit wieder\u00adholen. Hier\u00adf\u00fcr kann man zum Einen den \u201cAufzeichnen\u201d-Knopf in der iMacros-Seit\u00aden\u00adleiste ver\u00adwen\u00adden, zum Anderen ste\u00adht dem Anwen\u00adder eine m\u00e4chtige <a href=\"http:\/\/wiki.imacros.net\/Command_Reference\">Skript\u00adsprache<\/a> zur Ver\u00adf\u00fc\u00adgung, die den\u00adnoch leicht zu ver\u00adste\u00adhen ist.<\/p>\n<p>Nehmen wir an, wir w\u00fcr\u00adden iMacros gern nutzen, um per ein\u00adfachem Klick welt.de, spiegel.de und zeit.de aufrufen zu k\u00f6n\u00adnen. Das ist nicht allzu schwierig:<\/p>\n<p>Nach der Instal\u00adla\u00adtion der Erweiterung und dem oblig\u00ada\u00adtorischen Browserneustart ist zun\u00e4chst die iMacros-Seit\u00aden\u00adleiste zu \u00f6ff\u00adnen, die \u00fcber das iMacros-Sym\u00adbol erre\u00adich\u00adbar ist, das sich nor\u00admaler\u00adweise bere\u00adits in der Sym\u00adbol\u00adleiste ein\u00adgenis\u00adtet hat, aber auch nachtr\u00e4glich dort einge\u00adf\u00fcgt wer\u00adden kann (Recht\u00adsklick \u2014 \u201cAnpassen\u2026\u201d):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tuxproject.de\/blog\/wp-content\/uploads\/2011\/05\/iMacros-Symbol.jpg\" alt title=\"iMacros: Symbol\" width=\"28\" height=\"26\" class=\"alignnone size-full wp-image-4571\"><\/p>\n<p>Die Liste an Beispiel\u00admakros kann gern ignori\u00adert oder gel\u00f6scht wer\u00adden, sie ist f\u00fcr unser Tun nicht von Belang. Nun n\u00e4m\u00adlich ist unter \u201cRec\u201d auf \u201cAufnehmen\u201d zu klick\u00aden. Jed\u00ader weit\u00adere Schritt ist Teil des Makros. Nun ein\u00adfach die gew\u00fcn\u00adscht\u00aden Schritte aus\u00adf\u00fchren, anschlie\u00dfend auf \u201cStop\u201d klick\u00aden und das Ergeb\u00adnis unter einem beliebi\u00adgen Namen, etwa \u201cMORNING COFFEE\u201d, spe\u00adich\u00adern. (Alle Makros wer\u00adden als Dateien gesichert, sie lassen sich also sp\u00e4ter auch auf andere Ger\u00e4te portieren.) Per Recht\u00adsklick auf das neue Makro und Auswahl von \u201cAdd to book\u00admark\u201d \u2014 ja, iMacros ist mitunter etwas unvoll\u00adst\u00e4ndig \u00fcber\u00adset\u00adzt \u2014 kann das neue Makro auch in die Leseze\u00adichen\u00adleiste gelegt wer\u00adden, auf Wun\u00adsch gar mit seinem kom\u00adplet\u00adten Code, was etwa auf portablen Daten\u00adtr\u00e4gern sich\u00ader sehr vorteil\u00adhaft ist.<\/p>\n<p>F\u00fcr meine eher an grauer The\u00ado\u00adrie inter\u00adessierten wie auch meine pro\u00adgram\u00admier\u00adbegeis\u00adterten Leser ist der Code so eines Makros vielle\u00adicht inter\u00ades\u00adsan\u00adter als die M\u00f6glichkeit, es zu benutzen, selb\u00adst. Der funk\u00adtions\u00adf\u00e4hige Code f\u00fcr ein Makro, das die im Beispiel gew\u00fcn\u00adscht\u00aden Schritte durch\u00adf\u00fchrt, sieht etwa so aus; ich habe zum besseren Ver\u00adst\u00e4nd\u00adnis Kom\u00admentare einge\u00adf\u00fcgt:<\/p>\n<pre>' \u00d6ffne neuen Tab\nTAB OPEN\n' W\u00e4hle diesen Tab als aktiven Tab aus\nTAB T=1\n' Wechsle im aktiven Tab zu SPIEGEL Online\nURL GOTO=http:\/\/www.spiegel.de\n\n' Mach das noch zweimal:\nTAB OPEN\nTAB T=2\nURL GOTO=http:\/\/www.welt.de\nTAB OPEN\nTAB T=3\nURL GOTO=http:\/\/www.zeit.de<\/pre>\n<p>Tab\u00adnum\u00admern sind in iMacros, wie man sieht, immer rel\u00ada\u00adtiv. L\u00e4sst man etwa das erste <tt>TAB OPEN<\/tt> weg, so wird im ger\u00adade aktiv\u00aden Tab spiegel.de aufgerufen, egal, an welch\u00ader Stelle dieser ste\u00adht. Dies ist sel\u00adten gew\u00fcn\u00adscht.<\/p>\n<p>Vielle\u00adicht f\u00e4llt bei der Befol\u00adgung obiger Schritte auf, dass iMacros stan\u00addard\u00adm\u00e4\u00dfig eine Minute wartet, bis die jew\u00adeilige Seite fer\u00adtig geladen ist. Bei Seit\u00ade\u00adnaus\u00adf\u00e4llen endet das Makro, wenn die Seite nach 60 Sekun\u00adden nicht geladen wurde, vorzeit\u00adig. Um das zu ver\u00adhin\u00addern, kann man das Makro etwas fehler\u00adre\u00adsisten\u00adter machen, indem man die Wartezeit auf zum Beispiel 10 Sekun\u00adden her\u00adab\u00adset\u00adzt und den Abbruch bei Lade\u00adfehlern unterbindet. Der voll\u00adst\u00e4ndi\u00adge Code sieht dann so aus:<\/p>\n<pre>SET !TIMEOUT_PAGE 10\nSET !ERRORIGNORE YES\nTAB OPEN\nTAB T=1\nURL GOTO=http:\/\/www.spiegel.de\nTAB OPEN\nTAB T=2\nURL GOTO=http:\/\/www.welt.de\nTAB OPEN\nTAB T=3\nURL GOTO=http:\/\/www.zeit.de<\/pre>\n<p>Die bei\u00adden <tt>SET<\/tt>-Anweisun\u00adgen gel\u00adten \u00fcbri\u00adgens so lange, bis man sie wieder zur\u00fcck\u00adn\u00adimmt. Dies ist an jed\u00ader Stelle im Makro m\u00f6glich.<\/p>\n<p>Mit iMacros ist vieles mehr umset\u00adzbar, vom <a href=\"http:\/\/wiki.imacros.net\/Form_Filling\">Aus\u00adf\u00fcllen eines For\u00admu\u00adla\u00adrs<\/a> bis hin zu kom\u00adplex\u00aden <a href=\"http:\/\/wiki.imacros.net\/Web_Testing\">Web\u00adseit\u00aden\u00adtests<\/a>. Nat\u00fcr\u00adlich hat der Funk\u00adtion\u00adsum\u00adfang auch seinen Preis, denn so ein\u00adfach wie etwa das ein\u00adgangs erw\u00e4h\u00adnte \u201cMorn\u00ading Cof\u00adfee\u201d ist iMacros nicht immer zu bedi\u00adenen. Die gebotene Flex\u00adi\u00adbil\u00adit\u00e4t aber ist eben\u00adso wie die M\u00e4chtigkeit der Erweiterung ein Argu\u00adment, iMacros zumin\u00add\u00adest ein\u00admal auszupro\u00adbieren.<\/p>\n<p>iMacros gibt es \u00fcbri\u00adgens auch f\u00fcr den Inter\u00adnet Explor\u00ader. Aber lohnt sich das?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manch\u00admal gibt es beim t\u00e4glichen Inter\u00adnet\u00adguck\u00aden mit Fire\u00adfox Sit\u00adu\u00ada\u00adtio\u00adnen, die sich immer wieder wieder\u00adholen, etwa der t\u00e4gliche Besuch der Lieblings-Nachricht\u00aden\u00ad\u00adseit\u00aden. Eine ein\u00adfache L\u00f6sung hier\u00adf\u00fcr ist es, die Arbeit kom\u00adplett dem Sitzungs\u00adman\u00adag\u00ader zu \u00fcber\u00adlassen, die jew\u00adeili\u00adgen Seit\u00aden also gar nicht erst zu schlie\u00dfen. Alter\u00adna\u00adtiv k\u00f6n\u00adnte man, wie ich es selb\u00adst bis vor kurzem tat, Erweiterun\u00adgen wie \u2026<\/p>\n<p><a href=\"https:\/\/tuxproject.de\/blog\/2011\/05\/imacros-firefox-automatisieren\/\" class=\"more-link\">\u2018iMacros: Fire\u00adfox automa\u00adtisieren\u2019 weit\u00ader\u00adlesen \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[19],"tags":[],"series":[],"class_list":["post-4569","post","type-post","status-publish","format-standard","hentry","category-nerdkrams"],"share_on_mastodon":{"url":"","error":""},"wp-worthy-pixel":{"ignored":false,"public":null,"server":null,"url":null},"wp-worthy-type":"normal","_links":{"self":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/posts\/4569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/comments?post=4569"}],"version-history":[{"count":0,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/posts\/4569\/revisions"}],"wp:attachment":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/media?parent=4569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/categories?post=4569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/tags?post=4569"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/series?post=4569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}