1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Muecke

Beiträge von Muecke

  • Reguläre Ausdrücke n-Mal wiederholt

    • Muecke
    • 27. März 2020 um 17:09

    @Musashi : Danke für den Link, jedoch würde ich das gerne mit RegEx hin bekommen. Wenn es denn Möglich ist.

    Zitat von BugFix

    Eckige Klammern bilden eine Klasse. Du kannst dort z B. mehrere Zeichen, die an dieser Stelle, in beliebiger Folge, auftreten dürfen zusammenfassen. Außerhalb der Klammer kannst du dann die üblichen Multiplier setzen: + oder *.

    Es gibt auch vorgefertigte Klassen, kannst du im Detail in der Hilfe zu StringRegEx nachlesen.

    Um das mehrfache Auftreten zu matchen, bildest du eine Gruppe durch (...) und setzt das Flag 3 in der Abfrage. Dann hast du ein Ergebnisarray mit den Treffern.

    Eklige Klammern Bilden die Klasse für ein "Such Schema"?

    die Runden Klammern definieren was ich wider ausgeben kann. und gleichzeitig das dies Öffners vorkommen kann? das verwirrt mich etwas.

    was ich bisher habe:

    AutoIt
    #include <IE.au3>
    #include <Array.au3>
    
    Local $Url = "https://www.motointegrator.de/artikel/1192373-stossdaempfer-sachs-315-482"
    Local $oIE = _IECreate($Url)
    Local $CODE_HTML = _IEBodyReadHtml ($oIE)
    _IEQuit($oIE)
    
    Local $Ergebnis = StringRegExp($CODE_HTML, 'class="spec table table-condensed product-spec-tabs".\s*<tbody><tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>\s*<\/tr>\s*<tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>', 3)
    _ArrayDisplay($Ergebnis)

    Die Runden Klammern verwende ich ja schon.

    Wenn ich den Text \s*<\/tr>\s*<tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td> noch ein paar mal hintereinander in mein Suchschema eintippe dann findet er die Dinge auch. Sobald ich Eklige oder Runde Klammern darum setze klappt das nicht mehr.

    Wo habe ich den Denkfehler?

    Das sollte später so ausschauen:

    Start: class="spec table table-condensed product-spec-tabs".\s*<tbody><tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>

    Wiederholen unendlich: \s*<\/tr>\s*<tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>

    Ende: \s*<\/tr>\s*<\/tbody>

    Das ganze nur im StringRegExp.

  • Reguläre Ausdrücke n-Mal wiederholt

    • Muecke
    • 27. März 2020 um 10:26

    Hallo miteinander,

    ich möchte ein Suchmuster (Reguläre Ausdrücke) wiederholen jedoch versehe ich nihct wie ich das in ein Gruppe packe die sich unendlich oft wiederholen darf.

    Testen tue ich das hier: https://regex101.com/r/9v450w/2

    Mein String ist HTML Code.

    Lesen möchte ich den Inhalt einer Tabelle

    Auszug vom HTML Code:

    Code
    <table class="spec table table-condensed product-spec-tabs">
                         
                            <tbody><tr>
                                <td>CHEVROLET:</td>
                                <td>133 295 28</td>
                            </tr>
                        
                            <tr>
                                <td>CHEVROLET:</td>
                                <td>133 326 39</td>
                            </tr>
                        
    
                            <tr>
                                <td>OPEL:</td>
                                <td>436 544</td>
                            </tr>
                        
                            <tr>
                                <td>OPEL:</td>
                                <td>13 279 263</td>
                            </tr>
                            <tr>
                                <td>OPEL:</td>
                                <td>436 530</td>
                            </tr>
                        
                            <tr>
                                <td>OPEL:</td>
                                <td>13 315 242</td>
                            </tr>
                        
                        
                    </tbody></table>
    Alles anzeigen

    Mein StringRegExp Syntax: class="spec table table-condensed product-spec-tabs".\s*<tbody><tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>\s*<\/tr>\s*<tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>

    Zu wiederholen: \s*<\/tr>\s*<tr>\s*<td>(.*):<\/td>\s*<td>(.*)<\/td>

    Ich habe auf verschiedenen Seiten jetzt gesehen das wenn man eine Eckige Klammer [] um einen Teil macht und Plus (+) bzw. ein Mal (*) danach schreibt das man dann die gesamte folge wiederholen kann.

    leider klappt das bei mir nicht, daher habe ich entweder etwas Falsch verstanden, oder Fehlerhaft zusammen gebaut.

    hat mir jemand einen Tipp? oder kann mir weiterhelfen?

    gruß Mücke

  • Regulärer Ausdruck (Leerzeichen Zeilenumbruch Leerzeichen)

    • Muecke
    • 26. März 2020 um 16:35

    Alles klar, danke.

    Du bist mir ein Große Hilfe gewesen. DANKE


    ps. da wir ja auch alle davon leben das wir Lösungen zu gesiecht bekommen, habe ich hier mal meinen bisherigen Code, und bis jetzt Klappt es alles.

    Jetzt muss ich mich überlegen wie ich eine Tabelle die eine Dynamische Länge hat am besten auslese ;)

    C
    #include <IE.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    
    Local $Url         = "https://www.motointegrator.de/artikel/205739-bremsbelagsatz-scheibenbremse-bosch-0-986-494-187"
    
    Local $oIE         = _IECreate($Url)
    Local $CODE_HTML   = _IEBodyReadHtml ($oIE)
    _IEQuit($oIE)
    
    $G_1  = StringRegExp($CODE_HTML, '<h1 class="hp-header prod-title" itemprop="name">(.*)<\/h1>', 3)
    $G_2  = StringRegExp($CODE_HTML, '<span class="current-price nowrap" itemprop="price" content="[0-9]*.[0-9]*">([0-9]*,[0-9]*\s*.)',3)
    ; ############# Details
    $D_1  = StringRegExp($CODE_HTML, '<tr data-codename="manufacturer">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_2  = StringRegExp($CODE_HTML, '<tr data-codename="index">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_3  = StringRegExp($CODE_HTML, '<tr data-codename="montageplatz">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_4  = StringRegExp($CODE_HTML, '<tr data-codename="montage-seite">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_5  = StringRegExp($CODE_HTML, '<tr data-codename="stossdaempfertyp">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_6  = StringRegExp($CODE_HTML, '<tr data-codename="stossdaempfungssystem">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_7  = StringRegExp($CODE_HTML, '<tr data-codename="stossdaempferbefestigung">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    $D_8 = StringRegExp($CODE_HTML, '<tr data-codename="numer-producenta">\s*<td>.+?<\/td>\s*<td class="jqs-cf-value">(.*)<\/td>', 3)
    ; ############# Vergleichs-Nr.
    
    ConsoleWrite (@CRLF & " Titel:                  '" & $G_1[0] & "'") ; 
    ConsoleWrite (@CRLF & " Preis:                  '" & $G_2[0] & "'") ; 
    ; ############# Details
    ConsoleWrite (@CRLF & " Hersteller:             '" & $D_1[0] & "'") ; 
    ConsoleWrite (@CRLF & " Index:                  '" & $D_2[0] & "'") ; 
    ConsoleWrite (@CRLF & " Montageplatz:           '" & $D_3[0] & "'") ; 
    ConsoleWrite (@CRLF & " Montageseite :          '" & $D_4[0] & "'") ; 
    ConsoleWrite (@CRLF & " Stoßdämpfertyp:         '" & $D_5[0] & "'") ; 
    ConsoleWrite (@CRLF & " Stoßdämpfungssystem:    '" & $D_6[0] & "'") ; 
    ConsoleWrite (@CRLF & " Stoßdämpferbefestigung: '" & $D_7[0] & "'") ; 
    ConsoleWrite (@CRLF & " Herstellernummer:       '" & $D_8[0] & "'") ; 
    ; ############# Vergleichs-Nr.
    
    ConsoleWrite (@CRLF)
    Alles anzeigen
  • Regulärer Ausdruck (Leerzeichen Zeilenumbruch Leerzeichen)

    • Muecke
    • 26. März 2020 um 16:28

    Ok, dann habe ich das mit der Klammer richtig Interpretiert :)

    Danke für dein Feedback.


    Bezüglich der Doppelten ", ich persönlich mach das nihct so gerne (komme dann immer durcheinander wie viele da jetzt wirklich sind :rolleyes:, daher mache ich das Lieber mit mit ' am Anfang und am ende.

    Oder ist das eher kontraproduktiv? hat das Nachteile? oder birgt das Fehler ?

  • Regulärer Ausdruck (Leerzeichen Zeilenumbruch Leerzeichen)

    • Muecke
    • 26. März 2020 um 15:46

    Ok, das klappt. erst mal danke.

    Leider verstehe ich nicht warum :(

    was du machst.

    StringRegExp(..., '<tr data-codename="manufacturer">\s*<td>(.+?)<\/td>', 3)

    Als Ergebnis bekomme ich tatsächlich nur "Hersteller" warum?

    Warum bekomme ich nicht alles das als regulären Ausdruck hinterlegt ist zurück gegeben? das verstehe ich nicht.

    \s* = alle unsichtbaren zeichne auch Zeilenumdrücke (Länge unendlich)

    (.+?) = Gruppe. Die Elemente in der Gruppe werden in Reihenfolge bearbeitet und können zusammen wiederholt werden.

    - Findet jedes einzelne Zeichen außer, Zeilenumbruchs.

    - 1 oder mehr, faul.

    \ = Wofür das hinten noch mit eingebaut wurde, habe ich noch nicht raus gefunden.


    [EDIT]

    ich glaube ich habe verstanden, das was in der Klammer ist wird zurück gegeben.

    und das \vor dem / ist ""/ Ein nicht entblößtes Trennzeichen muss mit einem Backslash (\) entblößt werden."" was auch das immer bedeutet soll.

    Habe die Seite Hier gefunden, damit klappt es schon sehr gut. und wenn etwas grün dargestellt wird finde ich es im Array wieder ;-).


    DANKE noch mal für deine Hilfe.


    gruß Mücke

    [/EDIT]

  • Regulärer Ausdruck (Leerzeichen Zeilenumbruch Leerzeichen)

    • Muecke
    • 26. März 2020 um 14:58

    Hallo miteinander,

    ich tue mich mit den Regulärer Ausdruck sehr schwer :(

    Ich lese eine HTML Seite, und versuche bestimmte Dinge zu finden.

    Mein String: (Auszug vom Original)

    Zitat

    <tr data-codename="manufacturer">

    <td>Hersteller</td>

    <td class="jqs-cf-value">BOSCH</td>

    </tr>

    Ich möchte finden:

    1. Hersteller

    2. BOSCH

    1. Suche

    Code
    $aResult  = _StringBetween($CODE_HTML, '<tr data-codename="manufacturer">\s*<td>', '</td>')
    if Not isArray($aResult) then  ConsoleWrite (@CRLF & "KEIN ARRAY")
    if isArray($aResult) then ConsoleWrite (@CRLF & " Result: '" & $aResult[0] & "'") ; Hersteller
     _ArrayDisplay($aResult)

    Leider bekomme ich kein Ergebnis :(

    kann mir jemand etwas helfen und erklären warum? was mache ich Falsch oder welchen Denkfehler habe ich gerade?

    Gruß Mücke

    Zitat von autoit.de ==> StringRegExp.htm

    \s = Findet alle Whitespace-Zeichen: Chr(9) bis Chr(13), welche Tabulator, Zeilenschaltung, senkrechter Tab, Seitenvorschub, Wagenrücklauf und das Leerzeichen sind ( Chr(32) ).

    * = 0 oder mehr, gierig.

    ps. Das ist mein gerammter Code dazu.

    C
    #include <IE.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    
    Local $Url         = "https://www.motointegrator.de/artikel/205739-bremsbelagsatz-scheibenbremse-bosch-0-986-494-187"
    
    Local $oIE         = _IECreate($Url)
    Local $CODE_HTML   = _IEBodyReadHtml ($oIE)
    _IEQuit($oIE)
    
    $G_Titel = _StringBetween($CODE_HTML, '<h1 class="hp-header prod-title" itemprop="name">','</h1>')
     ConsoleWrite (@CRLF & " Titel: '" & $G_Titel[0] & "'") ; Bremsbelagsatz, Scheibenbremse BOSCH 0 986 494 187
    
    
    $aResult  = _StringBetween($CODE_HTML, '<tr data-codename="manufacturer">\s*<td>', '</td>')
    if Not isArray($aResult) then  ConsoleWrite (@CRLF & "KEIN ARRAY")
    if isArray($aResult) then ConsoleWrite (@CRLF & " Result: '" & $aResult[0] & "'") ; Hersteller
     _ArrayDisplay($aResult)
     
    ConsoleWrite (@CRLF)
    Alles anzeigen
  • Webseiten Quelltext richtig lesen ohne javascript

    • Muecke
    • 26. März 2020 um 13:32

    Oh man, danke.

    Da hätte ich auch drauf kommen können.

    DANKE !!!!

  • Webseiten Quelltext richtig lesen ohne javascript

    • Muecke
    • 26. März 2020 um 11:25

    Hallo miteinander,

    ich möchte eine Webseite aufrufen und bestimmte Informationen von dort lesen.

    Dazu nutze ich im Browser die Funktion "Element untersuchen"

    Leider bekomme ich nicht den ganzen Code ausgelesen ;(

    Beim Untersuchen habe ich den Richtigen Code sichtbar, wenn ich Quelltext anzeigen mache dann bekomme ich nur Javascript angezeigt ;-(.

    Wie kann ich den für mich relevanten Code Laden?

    Aktuell mache ich das so, klappt leider nicht: ;(

    C
    #include <IE.au3>
    #include <String.au3>
    
    $Url = "https://www.daparto.de/Teilenummernsuche/Bosch/0986494187?categoryId=1549&kbaTypeId=30078"
    $oIE = _IECreate($Url)
    $CODE_HTML = _IEBodyReadHtml ($oIE)
    
    $G_Titel = _StringBetween($CODE_HTML, '<h1>','</h1>')
      ConsoleWrite (@CRLF & " Titel: " & $G_Titel) ; == > Bosch Bremsbelag Art.-Nr.: 0 986 494 187
      ConsoleWrite (@CRLF & @CRLF & "Quelltext ausgabe:" & @CRLF &  $CODE_HTML )

    Könntet Ihr mir sagen wie ich den Quelltext laden muss.

    Gruß Mücke

  • Formular richtig Identifiziren

    • Muecke
    • 24. Februar 2020 um 20:30

    man bin ich ein Vollpfosten.

    Sorry, für die Anfrage, ja es funktioniert Einwandfrei, jedoch ist ein anderer teil im Code etwas daneben gewesen.

    Durch die Prüfung nach dem Objekt habe ich gemerkt das das Programm vorher schon aussteigt ;-(.

    Sorry mein Fehler.

    gruß Mücke

  • Formular richtig Identifiziren

    • Muecke
    • 24. Februar 2020 um 18:24

    Hallo Miteinander,

    ich möchte ein Formular auf einer Website ausfüllen, und versenden.

    Leider komme ich nicht auf der input Feld.

    Bei den anderen Formularen gab es für alle Elemente immer eine ID :)

    jetzt habe ich nur den Namen :(


    Das ist mein AutoIT Code:

    Code
    ...
    
    $oIE = _IECreate($Url)
    ...
    
    $oForm = _IEFormGetObjByName($oIE, "search")
    $oQuerySuche = _IEFormElementGetObjByName ($oForm, "query")
    _IEFormElementSetValue ($oQuerySuche,"Hallo")
    _IEFormSubmit($oForm)
    ....

    Das ist der HTML Code von der Seite:

    HTML
    <form name="search" action="/Volltextsuche" method="get" data-v-...>
       <input type="text" name="query" required="required" placeholder="Teilenummer oder Bauteil" autocomplete="off" tabindex="1" value="" data-v-....>
       <div class="submit-icons" data-v-b3cf607c>
          <!---->
          <button type="submit" title="Finden" class="submit-button" data-v-...>
          <img src="data:image/svg+xml;base64,...=" alt="Finden" data-v-...>
          </button>
       </div>
       <!---->
       <!---->
       <!---->
    </form>
    Alles anzeigen

    Die Webseite auf der das Suchfeld steht.

    Spoiler anzeigen

    https://www.daparto.de/

    Ich bin mir ziemlich sicher das ich den Falschen Befehl/ Funktion verwenden da ich nicht auf eine ID sondern auf einen Namen zugreifen möchte, Wo finde ich eine Übersicht der befehle oder könnte mir jemand sagen wie die Befehle sich nenne um auf ein Formular per Namen zuzugreifen und für das Inputfeld mit Namen.


    Gruß Mücke

  • Bestimten Link finden und Öffnen in Webseite

    • Muecke
    • 24. Februar 2020 um 12:32
    Zitat von Moombas

    Zu 2.: Müsstest du das nicht mit _IENavigate oder _IELinkClickByText machen um das gleiche Fenster/Tab zu nutzen?

    Genau das habe ich gesucht.

    _IENavigate($oIE, $gURL_Start & $Link)


    Jetzt fehlt nur noch das mit den Platzhaltern :) Danke.

  • Bestimten Link finden und Öffnen in Webseite

    • Muecke
    • 24. Februar 2020 um 11:54

    Oh man das macht genau das was ich benötige :)

    Danke.

    Leider bekomme ich das in meinen Code noch nicht richtig eingebaut: :(

    Da ich auf der Webseite noch mehr Dinge mache und das alles schon wie im Beitrag 1 erstellt wurde wollte ich das gerne daran anpassen, hat nicht so richtig geklappt.

    Zwei Probleme die ich ermittelt habe.

    1. Das Identifizieren des Links ist zu umständlich, kann man in die Suche nicht auch einen Platzhalter einbauen?

    2. Das Öffnen des Links erfolgt in einem Neuen Browserfenster ich möchte das das Alte Fenster verwendet wird :(


    Mein Code:

    Spoiler anzeigen
    C
    #include <MsgBoxConstants.au3>
    #include <IE.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <file.au3>
    #include <Date.au3>
    #include <INet.au3>
    
    
    ;  Variablen erstellen
       Global $gURL_Start     = "https://www.motointegrator.de"
       Global $oIE
    
       $oIE = _IECreate($gURL_Start)
    
       _Suche_eintragen_senden("Bosch")
    
       $fHTML = _IEBodyReadHtml ($oIE)
    
       $Ergebnis = _StringBetween($fHTML, '<div class="prod-thumb prod-thumb-l "><a title="', '"><i' )
       $iPosition = StringInStr($Ergebnis[0], 'href="')
       $Link = StringTrimLeft ( $Ergebnis[0], $iPosition + 5)
       $oIE = _IECreate($gURL_Start & $Link, 1, 1, 1, 1)
    
       _ArrayDisplay($Ergebnis, "Array")
    
    _IEQuit($oIE)
    Exit
    
    Func _Suche_eintragen_senden($Suchbegriff)
       Local $oForm = _IEFormGetObjByName ($oIE, "jqs-main-search-form")
       Local $oText = _IEFormElementGetObjByName ($oForm, "jqs-main-search-query")
       _IEFormElementSetValue($oText, $Suchbegriff)
       _IEFormSubmit($oForm)
    EndFunc ;==> _Suche_eintragen_senden
    Alles anzeigen

    zu 1.

    In Zeile 20 würde ich gerne Platzhalter einbauen, irgend wie ist das was mit [] klammern glaube ich gewesen, finde es aber nicht mehr wie das gemacht wird.

    Dann könnte ich mir Zeile 21 und 22 Sparen.

    zu 2.

    Wie kann ich definieren das im Selben Browser Fenster der Neue Link geöffnet werden soll?

  • Bestimten Link finden und Öffnen in Webseite

    • Muecke
    • 21. Februar 2020 um 20:31

    Hallo miteinander,

    ich möchte auf einer Seite (WWW) eine Eingabe machen und auf der Ergebnisseite dann auf den erstes Link klicken der in der Tabelle erscheint.

    Ich kann mein Suchbegriff eingeben, und Suchen lassen, ich komme nur nicht dahinter wie ich den Link in der Tabelle finde und dann öffnen lasse.

    Würde mich freuen wenn Ihr mir dabei helfen würdet.

    Ich möchte keine Werbung machen, daher ist auf dem Bild alles unkenntlich gemacht !

    Der Rote Kasten zeigt das gerammt Ergebnis der Suche

    Der Grüne Kasten zeigt den Link der geöffnet werden soll.

    Übersicht.png


    Die Webseite habe ich in den Spoiler gepackt. ich hoffe das die dann von Goole und co nicht gefunden wird hier.

    Spoiler anzeigen

    https://www.motointegrator.de/produkte/Bosch.html

    Das ist mein Code bisher.

    Spoiler anzeigen
    C
    #include <IE.au3>
    #include <String.au3>
    #include <MsgBoxConstants.au3>
    #include <Array.au3>
    
    ; Webseite Öffnen   $oIE = _IECreate("https://www.motointegrator.de/produkte/Bosch.html")
    
    ; HTML Code lesen   $fHTML = _IEBodyReadHtml ($oIE)
    
    ; Link 1 Klicken
    
    ; Tabelle finden  $Gefunden = _StringBetween($fHTML, '<div id="listing-wrapper">','</div>')
    
    ; Webseite Schlißen  _IEQuit($oIE)
    
    ; Ausgabe von Suchergebnissen  _ArrayDisplay($Gefunden, "Ausgabe von Suchergebnissen")
    Alles anzeigen

    Gruß Mücke

  • Suche Erinnerungsprogramm für wiederkehrende Aufgaben

    • Muecke
    • 10. August 2019 um 09:45

    Hallo miteinander,

    Ich hoffe Ihr habt eine Idee für ein Fertige Programm oder wie man so etwas mit AutoIT umsetzen könnte.

    Folgendes.

    Ich muss immer zum Bestimmten Zeiten verschiedene Dokumente per Mail versenden.

    Liegt der Stichtag auf einem Wochenende so muss am Freitag davor das Dokument versendet werden.

    Liegt der Stichtag in meinen Urlaub muss vor meinem Urlaub das Dokument versendet werden.

    zum 15. jeden Monats (Dokument: Zwischenbericht)

    zum 4 Werkstag jeden Monats (Report: Alpa)

    zum 10. jeden Monat (Dokument: Reisekosten)

    zum 15.04., 15.07., 15.10. 15.12. (Dokument: Quartalsmeldung)

    Da ich mich in der letzten Zeit keine Freunde gemacht habe da ich die Dokumente regelmäßig vergessen habe muss ich an mir arbeiten und einen weg finden das ich das nicht immer vergesse.

    ich habe mir alles als Termin im Kalender eingetragen, da Problem das dabei ist das ich nicht immer im Büro bin, ich bin viel unterwegs, und dann bekomme ich die Erinnerung aufs Handy die drücke ich dann natürlich weg und vergesse das auch wider, leider hat es auch nicht geklappt das ich immer wider in den Kalender schaue um zu sehen was ich vergessen habe.


    Daher suche ich ein Programm das mir beim Hochfahren des Rechners sagt was ich machen muss oder was ich vergessen habe.

    Nur wenn ich die Meldung als erledigt markiere erinnert er mich beim nächsten mal nihct mehr dran.

    Bzw. es wäre ganz gut wenn es nicht nur beim Hochfahren sondern auch im laufenden betrieb ab 0:00 Uhr machen würde, so sehe ich das am nächsten morgen dann.


    Habt Ihr eine Idee?


    Gruß Mücke

  • Programm Öffnen jetzt darin was Klicken etc.

    • Muecke
    • 7. März 2019 um 06:29

    Ah Ok, das erklärt einiges.

    Danke für deine Erklärung.

    Dann mache ich mir in mein Script einen Kleinen Ablauf Plan bei dem ich beschreibe was ich noch Händisch zwischen durch machen muss.

    Admin Rechte wollte ich meinem Script nicht geben wer wies was schief geht und nachher ist der Rechner nicht mehr Einsatz fähig :-).

    Ich kann damit Leben das ich bei der Benutzerkontensteuerung auf NEIN Klicke :-).

    Danke dir.

    Gruß Mücke

  • Programm Öffnen jetzt darin was Klicken etc.

    • Muecke
    • 6. März 2019 um 22:37

    ich habe da was gefunden das mir weiter geholfen hat :)

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Hier wurde zwar per Mauskoordinaten gearbeitet doch ich habe mit dem Befehl Control... etwas anfangen können.

    Dazu habe ich jetzt folgendes zusammen gebaut.

    CODE:

    Code
    #include <MsgBoxConstants.au3> ;** für MsgBox
    
    $Datei            = "C:\Users\Muecke\Desktop\Daten\AutoIt\Script\TeamViewer\TeamViewer_Setup.exe"
    $Titel          = "Installation von TeamViewer 14"
    $Titel_2        = "TeamViewer"
    $ID_Smartphone  = "123456789"
    
    Run ($Datei)                                                        ;** Programm TeamViewer Öffnen
       While 1                                                            ;** Warten bis TeamViewer Setup offen ist.
          if WinExists($Titel) Then ExitLoop
          sleep(100)
       WEnd
       WinMove($Titel, "", 0, 0)                                        ;** Fenster verschiben
       Sleep(500)                                                        ;** Warten in ms
       ControlClick($Titel, "", 1202)                                    ;** "Nur starten"
       ControlClick($Titel, "", 1204)                                    ;** privat / nicht-kommerziell
       ControlClick($Titel, "", 1)                                        ;** Stimme zu - starten
    
       While 1                                                            ;** Warten bis TeamViewer Setup offen ist.
          if WinExists($Titel_2) Then ExitLoop
          sleep(100)
       WEnd
       Sleep(500)                                                        ;** Warten in ms
       WinMove($Titel_2, "", 0, 0)                                        ;** Fenster verschiben
       ControlSend($Titel_2, "", 1001, $ID_Smartphone)                    ;** ID_Smartphone eintragen
    
    ; MsgBox($IDOK, "", "")
    ;   WinClose($Titel, "")                                             ; Fenster Schlißen
    Alles anzeigen


    Zwischen Zeile 16 und 18 wird ein Fenster geöffnet von Windows auf das ich nicht zugreifen kann ;(

    Benutzerkontensteuerung

    Das muss ich von Hand ansteuern, kann man das auch Automatisieren?


    Wenn ich JA klicke dann kann ich das Zweite Fenster von TeamViewer nicht ansteuern :( wenn ich NEIN Klicke dann kann ich es ansteuern, woran liegt das?

    Gruß Mücke

  • Programm Öffnen jetzt darin was Klicken etc.

    • Muecke
    • 6. März 2019 um 17:58

    Hallo miteinander,

    wenn ich ein Programm Öffne mit RUN wie kann ich dann auf Kästchen etc. klicken?

    Mein Code bis jetzt:

    Code
    #include <MsgBoxConstants.au3> ;** für MsgBox
    MsgBox($MB_SYSTEMMODAL, "Info für User", "Programm Start")
    
       Run ("C:\Users\Muecke\Desktop\Daten\AutoIt\Script\TeamViewer\TeamViewer_Setup.exe")
    MsgBox($MB_SYSTEMMODAL, "Info für User", "Programm ENDE")

    Bei mir Öffnet sich nun das Programm TeamViewer_Setup.

    Jetzt würde ich gerne auf Hacken setzen etc. und dann auf Stimme zu und fertigstellen Klicken.


    Ich habe das Programm "AutoIt V3 Window Info" gefunden ich habe nur keine Ahnung was ich mit den Werten die mir das Teil anzeigt wenn cih mit dem Finder Tool auf etwas bin umzugehen habe.

    Mit welchen befehlen muss ich jetzt weitermachen?

    Gruß Mücke

  • Webseite Lessen

    • Muecke
    • 28. Februar 2019 um 18:44

    Hallo Andy,

    ich bin mir nicht ganz sicher auf was du anspielen möchtest damit. ich nehme es einfach mal als Kompliment :)

    Wenn du wissen möchtest ob ich mit meinem Projekt weiter komme, ja ich habe es geschafft die Website aufzurufen meine Artikel zu suchen die Infos die ich haben möchte vom "Monitor" zu lesen und in einer CSV Datei zu sichern :-).

    Ich habe immer mal wider kleine hartnäckigere stellen an denen es nicht so einfach für mich ist wie für jemanden der richtig Programmiren kann :) doch das bekomme ich dank der Tatkräftigen Unterstützung dieses Forums sehr gut hin.

    Ich persönlich bin sehr froh auf dieses Forum zurück zu greifen zu können und das es Leute gibt die Helfen.


    Gruß Mücke

  • [IE] zugrif auf CheckBox im HTML Formular

    • Muecke
    • 28. Februar 2019 um 18:38

    Hey Ihr seit Spitze. Danke.

    habe das von Kanashius eingebaut das funktioniert perfekt.

    Danke.

    ich konnte mit der Beschreibung in der Hilfe leider nicht so viel anfangen, daher Danke für die Unterstützung.

    Gruß Mücke

  • [IE] zugrif auf CheckBox im HTML Formular

    • Muecke
    • 28. Februar 2019 um 15:14

    Hallo miteinander,

    ich würde gerne auf einer Webseite eine CheckBox mit einem Harken versehen, wie wenn ich sie anklicken würde mit der Maus.

    Auf meine Input Felder greife ich wie folgt zu.

    Code
       $oForm = _IEFormGetObjByName ($oIE, "searchGenericNumber")
          $oQuerySuche = _IEFormElementGetObjByName ($oForm, "searchGenericArticleNumber") 
          _IEFormElementSetValue ($oQuerySuche,$fSuche)
    
          $oQuerySuche = _IEFormElementGetObjByName ($oForm, "brandno")
          _IEFormElementSetValue ($oQuerySuche,$gHersteller_ID)

    Ich habe den Befehl _IEFormElementCheckBoxSelect gefunden, bekomme es jedoch nicht hin den hacken zu setzen :(

    Link zum Befehl: _IEFormElementCheckBoxSelect

    Der Code der HTML Seite schaut so aus:

    Code
    <label class="displayInline" for="exactSearch">
      <span class="pull-left paddingSearchOption">
           <input class="searchOptionsTextInput" type="checkbox" value="1" id="exactSearch" name="exact" checked="checked">
      </span>
    ...
    </label>

    Was ich glaube das ich verwenden muss:

    $oObject = "$oForm"

    $sString = Habe keinen Dunst was das sein soll

    $sName = "searchOptionsTextInput"

    $iSelect = 1

    $sMode = Habe keinen Dunst was das sein soll

    $iFireEvent = 1

    Kann mir jemand dabei etwas helfen? wie ich das richtig hin bekomme?

    Gruß Mücke

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™