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. MightyMoe

Beiträge von MightyMoe

  • _Word_DocRangeSet

    • MightyMoe
    • 9. Februar 2016 um 17:14

    Moin,

    also mit grundsätzlich meine ich ob das grundsätzlich so funktionieren könnte. :D Habe das nämlich schon auspropiert aber irgendwie bekomme ich damit kein Object zu fassen bzw. geclickt z.B. sowas:(Versuch den Twitterbutton zu klicken)

    AutoIt
    $oAdress = "https://sensortower.com/ios/us/supercell/app/clash-of-clans/529479190"
    
    
    $oIE = _IECreate($oAdress)
    
    
    $oDiv = _IEGetObjByName($oIE,"app-view-tweet")
    
    
    _IEAction($oDiv,"click")

    Habe das Gefühl das dies am Aufbau der Seite liegt... Bin aber nicht ganz sicher. Aktuell löse ich das über Maussteuerung, aber das ist ja mist...

    Ziel ist das Suchfeld auf "https://sensortower.com/ios/us/supercell/app/clash-of-clans/529479190" aus dem Clipboard zu füllen und aus dem dann aufklappenden dropdown menü die erste App auszuwählen.

    Die Arraywerte kommen später in eine Excel Tabelle. Das wollte ich dann über _Excel_RangeCopyPaste lösen

    Thx :)

  • _Word_DocRangeSet

    • MightyMoe
    • 9. Februar 2016 um 16:25

    Hey Kanashius,
    super vielen Dank für die Tips. Hab mich da nochmal eingelesen und es so gelöst... Auf jeden fall viel einfacher.

    AutoIt
    #include <Inet.au3>
    #include <Array.au3>
    #include <String.au3>
    #include <IE.au3>
    
    
    $oAdress = "https://sensortower.com/ios/us/supercell/app/clash-of-clans/529479190"
    
    
    $sSearch = _InetGetSource($Adress, True)
    
    
    $aResults = _StringBetween($sSearch,'{"appId":',',"name"')
    
    
    If Not @error Then
    
    
    		_ArrayDisplay($aResults)
    		_ArrayToClip ($aResults,"|",0,0)
    
    
    Else
       MsgBox(0, "", "Fehler")
    EndIf
    Alles anzeigen

    Jetzt bekomme ich im Array alle 10 IDs.

    Ich brauch diese 10 IDs aber nicht nur für eine App sondern für mehrere hunderte.

    Jetzt muss ich also im Schritt davor die ID der betrachteten App ins Suchfeld eingeben und diese per click auswählen. Grundsätzlich mache ich das über _IEGetObjByName & _IEAction oder?

  • _Word_DocRangeSet

    • MightyMoe
    • 3. Februar 2016 um 16:20

    Habs nochmal per IE.au3 versucht.
    Bekomme aber keine Ergebnisse.

    AutoIt
    #include <IE.au3>
    #include <MsgBoxConstants.au3>
    
    
    Local $oIE = _IECreate("https://sensortower.com/ios/us/samuel-ratumaitavuki/app/color-switch/1053533457")
    Local $ohtml = _IEGetObjByName($oIE, "html")
    Local $obody = _IEGetObjByName($ohtml, "app-profile-body")
    Local $odiv0 = _IEGetObjById($obody, "app-view")
    Local $odiv2 = _IEGetObjByName($odiv0, "tabbable tabs-left tab-content")
    Local $odiv3 = _IEGetObjById($odiv2, "overview-tab-target")
    Local $odiv4 = _IEGetObjById($odiv3, "overview")
    Local $odiv5 = _IEGetObjByName($odiv4, "columns")
    Local $odiv6 = _IEGetObjByName($odiv5, "flex-span-4 column no-grow")
    Local $odiv7 = _IeGetObjByName($odiv6, "shadowed-st content full-width publisher-related-apps")
    Local $odiv8 = _IeGetObjByName($odiv7, "related-apps-container")
    Local $odiv9 = _IeGetObjByName($odiv8, "related-app")
    Local $odiv10 =_IEGetObjByName($odiv9, "app-info")
    Local $odiv11 =_IEGetObjByName($odiv10, "app-list-view-name")
    Local $result = _IEPropertyGet($odiv0, "innertext")
    _IEAction($result, "copy")
    
    
    MsgBox($MB_SYSTEMMODAL, "Body Text", $result)
    Alles anzeigen

    Ich geh halt den kompletten Pfad runter damit ich auf jeden fall das richtige erwische. Als Ergebnis habe ich aber immer 0.
    Jemand nen Plan was ich falsch mache?

  • _Word_DocRangeSet

    • MightyMoe
    • 3. Februar 2016 um 12:21

    Das war mein erster ansatz. Leider sind die Sachen die ich brauche im javascript teil und über ie udf komm ich da nicht vernünftig ran. Sprich ich bekomm die appids nicht zu packen.

  • _Word_DocRangeSet

    • MightyMoe
    • 3. Februar 2016 um 11:52

    Moinsen,

    habe mich in den letzten Tagen ein bisschen in AutoIt eingearbeitet und habe meine ersten kleinen Scripts geschrieben. Dabei lese ich Daten von einer Website aus und kopiere Sie in eine Excel Tabelle.
    Bin jetzt geradean einer neuen Variante und habe Probleme mit der Funktion_Word_DocRangeSet.
    Ich versuche gerade aus einem Quellcode einer Website (als word Dokument) zehn AppIds auszulesen.
    Diese kommen im letzten Teil des Dokuments (nach dem letzten "relatedapps" suchbegriff):

    AutoIt
    ;Nach dem Bereich related apps suchen
    Local $relatedAppssuche	= _Word_DocFind($oDoc, "relatedapps", 0, Default, False)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Example", _
            "relatedapps locating the specified text in the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    $relatedAppssuche.bold=True
    ;Suchbereich festlegen
    Local $oSearchRange = _Word_DocRangeSet($oDoc,$relatedAppssuche,-1,50000) ;durchsuche nur den rest des dokuments


    Danach möchte ich nur noch den rest des Dokuments durchsuchen und die zehn appids speichern. Ich bekomme es aber irgendiwe nur hin, das die nächste (also zweite) gefunden wird. Nicht aber die dritte, vierte usw...

    AutoIt
    ;Erste AppId auslesen
    Local $oRangeFound
    $oRangeFound = _Word_DocFind($oDoc, "appid",$oSearchRange, Default,6)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Example", _
            "Error locating the specified text in the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    $appIDone = _Word_DocRangeSet($oDoc, $oRangeFound, Default, 2, Default, 1)
    $appIDone.underline = True
    
    
    ;Zweite AppId auslesen
    $oSearchRange = _Word_DocRangeSet($oDoc, $oSearchRange, Default,6)
    $oRangeFound = _Word_DocFind($oDoc, "appid",$oSearchRange)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Example", _
            "Error locating the specified text in the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    $appIDtwo = _Word_DocRangeSet($oDoc, $oRangeFound, Default, 2, Default, 1)
    $appIDtwo.underline = True
    
    
    ;Dritte AppId auslesen
    $oSearchRange = _Word_DocRangeSet($oDoc,$oSearchRange, Default,6)
    $oRangeFound = _Word_DocFind($oDoc, "appid",$oSearchRange)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocFind Example", _
            "Error locating the specified text in the document." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    $appIDthree = _Word_DocRangeSet($oDoc, $oRangeFound, Default, 2, Default, 1)
    $appIDthree.underline = True
    Alles anzeigen

    Ich versuche hier die SearchRange weiter nach hinten zu schieben. Ich habe da auch schon verschiedene Ansätze versucht aber es wird immer nur die zweite appid gefunden...
    Kann mir da jemand helfen? Check irgendwie diese word_docrangeset funktion nicht so ganz.

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™