ich würd das schon gerne über xpath realisieren. Ich kann aus irgendeinem Grund den Quelltext nicht auslesen. Deswegen wollt ich das Element halt direkt ansprechen.
Beiträge von Douky
-
-
Firefox: 3.6.13
MozRepl: 1.0
Win 7 Home Premium, 64 Bit -
hey!
Bei mir funktioniert dein Code soweit.
Allerdings sind 2 Dinge in deinem überflüssig.Zum einen brauchst du
[autoit]#inlcude <FFEx.au3>
[/autoit]sowie
[autoit]_FFConnect()
[/autoit]nicht.
FFEx sind nur erweiterte Funktionen die unabhängig von der FF.au3 arbeiten.
Und die Funktion _FFStart() beinhaltet den Connect.Und hier noch ein (bei mir) funktionierender Code.
[autoit]#include<FF.au3>
[/autoit]
;_FFConnect()
_FFStart("http://de.wikipedia.org/wiki/Hyperlink")
_FFLinkClick("Querverweis","text") ;<---- Funktioniert
Sleep(250)
_FFLinkClick("Text","text") ;<----- FunktioniertFalls du das Connect dennoch drin haben möchtest, dann z.B. so:
[autoit]#include<FF.au3>
[/autoit]
If _FFConnect(Default, Default, 3000) Then
_FFOpenURL("http://de.wikipedia.org/wiki/Hyperlink")
Else
_FFStart("http://de.wikipedia.org/wiki/Hyperlink")
EndIf
_FFLinkClick("Querverweis","text") ;<---- Funktioniert
Sleep(250)
_FFLinkClick("Text","text") ;<----- Funktioniert -
Hey,
Ich würde gerne einfach ein Strong auslesen, nur irgendwie will das ganze nicht so wie ich will. =)
html:
Code<BODY style='background: url(bilder/bg.png) repeat-x #000;' topmargin='0'> <table border='0' width='100%'> <tr><form action='' method='post'> <td colspan='3' align='center'><font size='2' face='Tahoma, Verdana, Arial, Helvetica, Sans Serif' color='#FFFFFF'><strong> Diesen Text würde ich gerne Auslesen </strong></font><input type='text' name='input_eingabe' style='width:33px; font-size:10px; text-align:center' /><input type='hidden' name='rl' value='12' /> <input type='submit' name='abschicken' value='abschicken' style='font-size:10px'>/></font></td> </tr> </table> </body>und meine Versuche:
[autoit]_ffxpath("html/body/table/tbody/tr/td/font/strong")
[/autoit]
_ffxpath("html/body/table/tbody/tr/td/font/strong/text()")Danke euch schonmal
-
Am einfachsten ist es wenn du uns die Seite verräts auf der sich der Button befindet.
Ansonsten kann man alles was man nicht mit
[autoit]_fflinkclick
[/autoit]erwischt, auf alle fälle mit
[autoit]_ffclick
[/autoit]erwischen.
http://german.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFClick.php
EDIT: Da haben sich wohl unsere antworten überschnitten. Dann einfach als "Gelöst" markieren.
LG
-
Hi,
Mit Firefox sollte es so funktionieren:
[autoit]
[/autoit][autoit][/autoit][autoit]
#Include <FF.au3>_FFLinkClick("Next", "text")
[/autoit]Ist aber ungetestet!
-
Vielen dank!
Damit kann ich super arbeiten. -
joa, das weiß ich ja.
Aber ich würde gerne alle funde ausgegeben haben und nicht nur den 1.Ist das möglich?
-
Hallo,
Ich suche nach einer Möglichkeit mit
[autoit]Pixelsearch
[/autoit]
Mehrere Ergebnisse auszugeben.Also die Funktionsweise ist ja denke mal bekannt. Man durchsucht einen Fest gelegten berreich nach einem Pixel mit einer bestimmten Farbe. Das erste ergebnis ist dann ein Array mit den Koordinaten.
Zu meinem Problem.
Ich Durchsuche einen Berreich in dem diese Farbe mehr als 1 mal vorkommt. Wie stelle ich das nun an das mir Pixelsearch die Koordinaten von allen funden und nicht nur vom ersten zurück liefert?Danke
-
Ich hab mir dafür mal eine Funktion gebastelt.
Spoiler anzeigen
[autoit]Func Zeichne_Viereck($links, $oben, $rechts, $unten)
[/autoit]
Local $hDC, $hPen, $obj_orig
$hDC = _WinAPI_GetWindowDC(0)
$hPen = _WinAPI_CreatePen($PS_SOLID, 2, 0xFF)
$obj_orig = _WinAPI_SelectObject($hDC, $hPen)
_WinAPI_DrawLine($hDC, $links, $oben, $rechts, $oben) ;Oben
_WinAPI_DrawLine($hDC, $rechts, $oben, $rechts, $unten) ;Rechts
_WinAPI_DrawLine($hDC, $links, $unten, $rechts, $unten) ;Unten
_WinAPI_DrawLine($hDC, $links, $oben - 1, $links, $unten) ;Links
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)
_WinAPI_SelectObject($hDC, $obj_orig)
_WinAPI_DeleteObject($hPen)
_WinAPI_ReleaseDC(0, $hDC)
EndFunc ;==>Zeichne_Rechteck
lg -
bei mir gehts, wo genau liegt das problem?
-
-
ich find einfach keine passende funktion in der FF...
ich arbeite zwar schon länger mit der FF.au3 aber ich finds einfach nicht -.- -
hi,
gibt es eine Möglichkeit mit Autoit Firefox Tabs nach Titel oder Url zu sortieren?
-
oh man....*sich selbst vorn kopf hau*
klaaar das ist doch die lösung.
Vielen dank Fresapore
so werd ichs machen!
-
das geht z.b. mit dieser Funktion
[autoit]Chr ( ASCIIcode )
[/autoit]Hier findest du alle zeichen dazu
http://www.torsten-horn.de/techdocs/ascii.htm
EDIT:
Ein kleines bsp. für "ÄÖÜ"
[autoit]
[/autoit]
$AE = Chr(196) ;Ä
$OE = Chr(214) ;Ö
$UE = Chr(220) ;Ü
MsgBox(0, "Große Umlaute", $AE & $OE & $UE)EDIT2:
Du musst aber auch darauf achten das du nur Zeichen verwendest die Windows überhaupt für Ordner aktzeptiert.
Langeweile Edit:
A mit Strich
[autoit]$AmitStrich = Chr(225) ;á
[/autoit]
MsgBox(0, "Nur so ein A", $AmitStrich) -
Hey Leute,
Ich arbeite Gerade an einem Script bei dem ich mehrere Guis erzeugen will.
Da jede Gui für sich recht Umfangreich werden kann wollte ich diese in eigene .au3 dateien auslagern.Ist es eine saubere Lösung wenn ich die durch ein Include einbinde?
[autoit]
Oder gibts da eine andere vergleichbare möglichkeit?
[/autoit][autoit][/autoit][autoit][/autoit]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $MenuItem1
#include<Gui1.au3>
Case $MenuItem2
#include<Gui2.au3>
Case $MenuItem3
#include<Gui3.au3>
Case $MenuItem4
#include<Gui4.au3>
EndSwitch
WEnd -
Hi,
Ich hab da auch noch ein Tipp für dich.
Ich hab gesehen das du zum Teil so lange Strings hast, dass die garnich übersichtlich sein können^^Mit hilfe des Unterstrichs ( _ ) kannst du Befehle über mehrere Zeilen erstellen. der Unterstrich dient dabei nur dazu damit der Compiler weiß das der befehl in der nächsten Zeile weiter geht. Hier ein Beispiel dazu:
[autoit]
[/autoit]
$Langerstring = "Das ist ein ganz ganz " & _
"ganz ganz ganz ganz ganz ganz ganz " & _
"ganz ganz ganz ganz ganz ganz ganz" & _
" langer String"
MsgBox(0, "Langer String", $Langerstring) -
schau dir mal diese Funktion an
[autoit]StringFormat
[/autoit] -
Danke für den Tipp water.
damit gehts bestimmt.
Habe aber nochmal ein wenig nachgegrübelt und eine wesentlich einfachere Möglichkeit gefunden.
Jetzt funktioniert alles so wie es soll.Zu meiner jetzigen Lösung (Falls es noch jemanden interessiert^^)
Ich starte Outlook einfach mit Autoit und Beende es dann wieder.
Outlook habe ich so Konfiguriert das er beim Beenden die Notwendigen Konten noch syncroniesiert.Minianleitung dazu
Spoiler anzeigen
Wärend mein Rechner die "Outlook Geschichte" abarbeitet wartet Autoit einfach so lange bis Outlook beendet wurde.hier noch mein Code-Schnipsel dazu
Spoiler anzeigen
[autoit]
[/autoit]
ShellExecute("Outlook", "", "", "", @SW_MAXIMIZE)
WinWaitActive("Posteingang - Microsoft Outlook")
While Sleep(500)
If ProcessExists("OUTLOOK.exe") Then
WinClose("Posteingang - Microsoft Outlook")
WinWaitClose("Posteingang - Microsoft Outlook")
ExitLoop
EndIf
WEndEDIT:
Hab ich doch glatt was vergessen.
[autoit]
Sollte diese Prozedur euer Outlook zu schnell beendet hilft dies hier:Opt("WinWaitDelay", 5000)
[/autoit]