Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Frage an applescript-pros. Link-URLs auslesen
Frage an applescript-pros. Link-URLs auslesen
flowgrow
02.12.08
02:03
hey leute. ich hab folgendes problem: ich will gerne die URL von diversen nicht dynamischen Links auslesen.
ich hab mir gedacht, am einfachsten geht das mit UIScripting, also hab ich mal schnell den UIBrowser gezogen und mir den "Pfad" zu meinem link geholt.
jetzt aber das problem: wenn ich den wert vom "AXURL" attribut auslesen will, passiert einfach nichts in den ergebnissen nicht einmal ein leerer string(zum vergleich bei AXtitle kommt "")
tell application "System Events"
get value of attribute "AXURL" of UI element 20 of UI element 1 of scroll area 1 of group 3 of window 1 of process "Safari"
end tell
was mach ich falsch?
bitte um hilfe und danke im voraus
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
Kommentare
flowgrow
02.12.08
02:19
noch als kleiner zusatz: im uibrowser wird neben AXURL ein wert angezeigt, also muss das ja irgendwie auslesbar sein... naja. wir werden da sicher eine lösung finden
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
Michael Schmidt
02.12.08
10:10
Willst du nicht lieber den HTML-Quellcode holen und dir die hrefs auslesen?
CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
Hilfreich?
0
_mäuschen
02.12.08
11:17
set wert to
get value… ?
Hilfreich?
0
flowgrow
02.12.08
14:23
mäusschen
so schlau war ich natürlich auch schon... funktioniert aber nicht - Fehlermeldung: Die Variable "wert" ist nicht definiert
Michael Schmidt
Ja ist auch keine dumme idee, nur leider weiß ich nich wie das gehen könnte... kannst du mir da vielleicht helfen?
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
flowgrow
02.12.08
17:36
keiner da, der noch eine idee hat?
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
_mäuschen
02.12.08
17:40
hmmm
Finde keine web site mit AXURL als Attribut
Hast' mal 'nen link?
Hilfreich?
0
flowgrow
02.12.08
17:44
jetzt wo dus sagst... ist anscheinend nur bei bildern (siehe:
) unten die drei links
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
_mäuschen
02.12.08
20:01
AppleScript unterstützt wohl nicht alle Attribute. Schade. Oder zum Glück?
Und in Deinem code fehlte noch das <image 1>
Hilfreich?
0
_mäuschen
02.12.08
20:01
set werte to {}
tell application "System Events"
set countAttributes to count attributes of image 1 ¬
of UI element 20 of UI element 1 of scroll area 1 ¬
of group 3 of window 1 of process "Safari"
repeat with x from 1 to countAttributes
try
get value of attribute x of image 1 of UI element 20 ¬
of UI element 1 of scroll area 1 of group 3 ¬
of window 1 of process "Safari"
copy the result as string to end of werte
end try
set werte to werte & return
end repeat
end tell
log werte
Hilfreich?
0
_mäuschen
02.12.08
20:05
Warum frisst dieser grauslich rosa Fleck mir immer die TABs weg?
Hilfreich?
0
flowgrow
02.12.08
22:25
sry war leider weg von 7 bis jetzt... auf jeden fall schon mal danke für die antwort. ich habs aber noch nicht getestet
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
flowgrow
02.12.08
22:30
scheint wohl nicht zu funktionieren. so wie dus auch oben schon gesagt hast... blöd... muss ich mir wohl was anderes einfallen lassen
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
Michael Schmidt
03.12.08
10:15
Sorry, hatte gestern leider keine Zeit mehr
Probier mal das hier:
tell application "Safari"
tell current tab of window 1
set pagesSource to get source
end tell
end tell
do shell script "echo " & quoted form of pagesSource & " | grep \"href=\" | sed s/.*href..//g | sed s/\\\".*$//g"
Könnte funzen, aber m.E. nur, wenn der HTML-Code korrekt geschrieben ist. Er darf auch nicht nur aus einer Zeile bestehen
Meine RegExp-Kenntnisse sind sehr beschränkt, vielleicht kann da ja noch jemand anders helfen...
Alternativ könntest du den Quellcode auch per curl holen
CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
Hilfreich?
0
Resistance
03.12.08
18:31
Also ich würde das mit den NSXml Klassen machen (als Foundation App), allerdings ist das mit Sicherheit der aufwendigste Weg.
Hilfreich?
0
_mäuschen
03.12.08
18:54
…so…
Hilfreich?
0
flowgrow
03.12.08
20:55
mäusschen & michael schmidt ihr seid helden! danke vielmals
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
flowgrow
03.12.08
21:31
mäusschen könntest du mir vllt auch noch genauer erklären, was da passiert, damit ich das auch für andere websites verwenden kann?
zb was bedeuten die dollar zeichen, und was is awk?
substr hab ich auch noch nicht ganz verstanden
also bitte ich vielmals um weitere erläuterungen... vieeelen dank
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
_mäuschen
03.12.08
23:03
$s in shells sind Variablen
In diesem script
$1 - Resultat des curl Befehls
$2 - die 2te Variable des Resultats des grep Befehls bestehend aus $1 bis $6
href="index.php?section=produkte&kartei=shirt&pid=33"><img
wie in Zeile
<a href="index.php?section=produkte&kartei=shirt&pid=33"><img src="Media/Bilder/produkte/s_product_id33.jpg" alt="Neues Produkt" /></a>
zu sehen.
Leerschlag
substr(s, m, n)
the n-character substring of s that begins at position m counted from 1.
index.php?section=produkte&kartei=shirt&pid=33
man awk
Hilfreich?
0
hubionmac
30.12.08
09:18
JavaScript kann Dir da deutlich komfortabler weiterhelfen, als es ein Shell-Script tuen könnte... und ist auch verdammt schnell dabei =)
Vor einiger Zeit habe ich mir mal ein Skript geschrieben, welches alle Bilder einer Website lädt, dazu öffnest Du die Website in Safari und das Skript lädt sich alle verlinkten Bilder herunter...
tell
application
"Safari"
tell
document
1
--
alle Image-Verlinkungen Zählen
set
lc
to
do JavaScript
"document.images.length;"
repeat
with
i
from
1
to
lc
--
Den Link zu dem Bild i auslesen
set
alink
to
do JavaScript
"document.images[" &
i
& "].src;"
try
--
und wenn es diesen Pfad beinhaltet....
if
alink
contains
"/day_pics/tn/tn_"
then
--
sich den Dateinamen aus der URL bauen
set
Dateiname
to
(
do shell script
"basename " &
alink
)
--
-und das ganze herunterladen =)
do shell script
"curl " &
alink
& "|cat>~/Pictures/" &
Dateiname
end
if
end
try
end
repeat
end
tell
end
tell
„[i]don't panic[/i]“
Hilfreich?
0
Michael Schmidt
30.12.08
11:14
Für href sieht das Ganze dann so aus:
set allLinks to {}
tell application "Safari"
tell document 1
--alle Hyperlinks holen
set lc to do JavaScript "document.links.length;"
repeat with i from 1 to lc
-- die href-Werte holen und zur Liste allLinks hinzufügen
set end of allLinks to do JavaScript "document.links[" & i & "].href;"
end repeat
end tell
end tell
-- die Liste allLinks enthält alle href-Werte
hubionmac:
Manchmal sieht man den Wald vor lauter Bäumen nicht
Coole Idee...
CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
iPad Pro M4 wird grün – Displayfehler bei immer...
Vor 18 Jahren: iPhone, Apple TV und "Apple Inc."
Top Five 2024
Samsung präsentiert die neuen Galaxy-Flaggschif...
Vor 40 Jahren: Der Apple Laser Writer wird ange...
Countdown 2024: Apple mit Preisnachlass für 31 ...
Parallels führt x86-Windows auf M-Macs aus – Te...
Leak in macOS 15.2 Sequoia: Neues MacBook Air k...