Verzweifle bald... Hilfe bei Webseiten Formular ausfüllen...

  • Hallo!

    Ich habe mittlerweile mehrere AutoIt-Skripte für private und berufliche Zwecke erstellt. Bisher war alles im Bereich Office (Word/Excel).

    Zu meinem Problem:

    Ich habe ein Word-Dokument (*.doc) welcher mit Hilfe eines Onlineconverters zu einer PDF umgewandelt werden soll.

    Die Webseite http://www.doc2pdf.net/de/ bietet dafür ein Formular welches ich benutzen möchte, aber ich komme leider nicht mit den Beispielen für " _GetElementName" etc. nicht klar. Wäre vielleich jemand so freundlich mir zu zeigen mit welchem Befehl ich das Datenverzeichnis der zu konvertierenden Word-Datei mit Autoit ausgefüllt bekomme und wie ich auf den Submit button klicke?

    Ich bin kein Noob und will auch nichts vorgekaut bekommen, aber hier komme ich einfach nicht allein weiter.

    Vielen Dank im Voraus.

    Gruß

    argonautik

  • Also mal etwas am Thema vorbei... ich würde die Finger davon lassen. Die Seite wirkt für mich nicht sehr seriös (kein Impressum, keinerlei Hinweise bezüglich Datenschutz). Du musst also damit rechnen, dass deine dort hochgeladenen Dokumente missbraucht werden. Da du davon in der Regel nicht nur selbst betroffen bist, sondern auch die Empfänger deiner Briefe/Bewerbungsunterlagen usw. solltest du dir sehr gut überlegen ob du diesen Dienst nutzen möchtest. Es wird sogar explizit darauf hingewiesen, dass man keine vertraulichen Dokumente hochladen soll, warum man davor warnt... ich möchte es nicht herausfinden.

    Würde an deiner Stelle eher auf lokale Programme zurückgreifen.

  • Ich könnte mir auch gut vorstellen, dass die Dokumente weiterverwendet werden. Allerdings ist die Seite anscheinend nicht sooo unbekannt: http://www.siteadvisor.com/sites/www.doc2pdf.net.

    Es gibt aber auch andere Seiten, die diese Dienste anbieten:
    http://www.wordtopdf.com/
    http://www.freepdftoword.org/de/
    http://www.pdfonline.com/convert-pdf/

  • Die hochgeladenen Dateien enthalten keine privaten Informationen. Es sind einfache Preisetiketten mit Barcode. Der Grund weshalb ich diese Seite ausgewählt habe ist, dass die Größe des hochgeladenen word-dokuments genauso in der pdf wiedergegeben wird. die word datei hat eine größe von 30 x 12 mm. meine vorherigen versuche mit pdfcrerator scheiterten daran, dass die ausgegebene datei standardmäßig DIN A4 groß war. Auch mit benutzerdefinierten einstellungen wurde die pdf nicht korrekt ausgegeben.

    Ich hoffe die community kann ein paar tips zu der problemstellung geben, trotz sicherheitsbedenken...

  • Naja dein Problem ist hier in erster Linie der IE und seine bescheuerte Sicherheitseinstellung. Diese verhindert, dass Inputfelder vom Typ File ausgefüllt werden können. Das ist selbst von Hand nicht möglich und muss zwingend über den Button Dialog erfolgen. In der Hilfe zu _IEFormElementSetValue wird dies ebenfalls erwähnt und auch ein Workaround als Beispiel präsentiert. Das scheint allerdings nur bis IE6 zu funktionieren wenn ich das recht gelesen habe. Bei mir ging es über die Fokus Variante jedenfalls nicht.

    Eine Lösung wäre es nun also den Fileopen Dialog zu automatisieren, welcher beim Button Druck erscheint. Das ist aber eher unschön. Ich habe jetzt mal etwas anderes ausprobiert, denn diese Funktionen der IE.au3 kannte ich bislang nicht. Mein Lösungsansatz manipuliert den Originalquellcode und ändert den Input Typ nach "Text". Dadurch Funktioniert dann im Anschluss auch die setValue Methode. Jedoch scheitert das Absenden danach mit einer Fehlermeldung des Javascriptes.

    Hier mal der aktuelle Stand, vielleicht findet ja jemand raus, warum das Absenden so nicht mehr funktioniert:

    [autoit]


    #include <ie.au3>

    [/autoit][autoit][/autoit][autoit]

    $oie = _IECreate("http://www.doc2pdf.net/de/")
    $input = _IEGetObjByName ( $oie, "inputDocument")
    _IEPropertySet($input,"outerhtml",'<INPUT class="XINPUT txt" onchange=updateOutputFormats(this) size=25 type=text name=inputDocument>')
    $input = _IEGetObjByName ( $oie, "inputDocument")
    $test = _IEFormElementSetValue($input,"C:\test.docx")

    [/autoit]

    Ansonsten mach das ganze mit FF, da gibt es keine Probleme mit File Inputfeldern.

  • Formulare dürften mit WinHTTP auch kein Problem sein.
    Schau dir mal die Simple Funktionen an.

  • "Ansonsten mach das ganze mit FF, da gibt es keine Probleme mit File Inputfeldern."


    Das klingt gut. Gibt es evtl. einige Beispiel-Scripte von denen ich die FF Automatisierung erlernen kann? Oder wäre vielleicht jemand von den Könnern so lieb mir den Befehl zum füllen des File-Feldes und den anschließenden Submit Click zu zeigen?

    Gruß

  • Hallo,

    Naja dein Problem ist hier in erster Linie der IE und seine bescheuerte Sicherheitseinstellung. Diese verhindert, dass Inputfelder vom Typ File ausgefüllt werden können. Das ist selbst von Hand nicht möglich und muss zwingend über den Button Dialog erfolgen. ...

    Das "Problem" ist bei FireFox selbstverständlich auch gegeben.
    Um das zu umgehen gibt es in der FFEx.au3 eine Funktion Namens "_FF_FormSetFileInput".

    Grüße
    Stilgar

  • Ich widerspreche dir als Verantwortlichem für die ff.au3 ja nur ungern, aber auch ohne die genannte Funktion aus der ffex.au3 funktioniert das bei mir im FF ohne murren:

    [autoit]


    #include <FF.au3>

    [/autoit][autoit][/autoit][autoit]

    $ffProzess = Run(@ScriptDir & "\FirefoxPortable.exe", "", @SW_SHOW)
    Do
    _FFConnect()
    $OK = @error
    If @error Then _FFDisConnect()
    Until Not $OK

    [/autoit][autoit][/autoit][autoit]

    _ffopenurl("http://www.doc2pdf.net/de/")
    _FFSetValue("C:\test.docx", "inputDocument" ,"name")

    [/autoit]
  • Hallo,

    Das hatte bisher noch nie funktioniert.
    Außer in den aktuellen Versionen wurde nun so ein Sicherheitsloch eingebaut ;( -> d.h. in Zukunft Webseiten die ungefragt lokale Dateien selbständig von einem Rechner herunterladen ...

    Welche FF Version verwendest Du denn?

    Grüße
    Stilgar

  • Das ging bei mir schon immer mit der 3.5 / 3.6 und nun auch mit der 4er die ich zu testzwecken hier als portable hab. An den Settings wurde nichts verändert, was in irgendeinerweise mit dem Verhalten der file inputs zusammenhängen würde. Daher hatte mich deine Aussage und die genannte Funktion überrascht (war mir neulich nämlich auch aufgefallen beim stöbern in der ffex.au3)

    EDIT: Auch in der neuen 5er Version läuft das oben gepostete Script ;)
    EDIT2: Möglicherweise ist das aber auch ein Feature von MozRepl, welches mit der Zeit hinzugekommen ist, denn grundsätzlich verhindert der FF das manuelle Ausfüllen ohne Hilfsmittel

    Einmal editiert, zuletzt von misterspeed (2. August 2011 um 17:22)