OK OK
Es muss also zwingend "http://" sein aber das löst nicht mein Problem. ![]()
Gruß
Norman
OK OK
Es muss also zwingend "http://" sein aber das löst nicht mein Problem. ![]()
Gruß
Norman
Hallo zusammen,
ich habe mal wieder ein IE Problem.
Mein Script öffnet einen Ebay Shop, klickt dann auf den ersten Link den er findet und klickt dann wieder auf einen Link.
Wenn ich nun den String, in diesem Fall "Paketversand", auslesen will und diesen mit _ArrayDisplay anzeigen will beendet das Script an dieser Stelle.
Kann es sein das $inet seine Wirkung mit _IELinkClickByText($inet,"Alle Details zum Versandanzeigen") verliert das sich eine neue Seite öffnet?
Wie kann ich _InetgetSource sagen das es die Quelltext von der neuen Seite auslesen soll?
Kann mir da bitte einer helfen?
Danke und Gruß
Norman
#include<IE.au3>
#include<Array.au3>
#include<String.au3>
#include<inet.au3>
Global $inet, $links, $linkanzahl, $source, $versandtext
[/autoit][autoit][/autoit][autoit]$inet = _IECreate("http://stores.ebay.de/Elektroboutique-com-Elektronik/_i.html?rt=nc&_dmd=1&_sid=689722186&_trksid=p4634.c0.m14&_vc=1")
_IELoadWait($inet)
$links = _IELinkGetCollection($inet)
Dim $i = 0
for $links in $links
If StringInStr($links.href, "http://cgi.ebay.de") Then
$i = $i +1
EndIf
Next
_IELinkClickByIndex($inet, $i)
Sleep(5000)
_IELinkClickByText($inet,"Alle Details zum Versandanzeigen")
$source = _INetGetSource($inet)
$versandtext = _StringBetween($source, '<span id="fshippingSvc"> -',"</span>")
_ArrayDisplay($versandtext)
[/autoit]probier mal:
[autoit]$oSubmit = _IEFormElementGetObjByName($oForm, 'Submit')
_IEaction($oSubmit, "click")
Gruß Norman
Danke Kev bin ich jetzt einen Schritt weiter.
Jetzt habe ich folgendes Problem:
Ich will abfragen ob "Amazon" oder "Verkäufer xyz" auf der Seite dargestellt ist.
Kann mir bitte einer helfen...ich komme einfach nicht weiter
#include<inet.au3>
#include<string.au3>
#include<Array.au3>
Global $amazon, $preis, $versand, $passwort
HotKeySet("{ESC}","ende")
;~ $amazon = _INetGetSource("http://www.amazon.de/gp/product/B004MKNBNM/ref=s9_ri_gw_g23_ir03?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-4&pf_rd_r=04RE12H5KS6P15VHYYGE&pf_rd_t=101&pf_rd_p=171812327&pf_rd_i=301128")
$amazon = _INetGetSource("http://www.amazon.de/Samsung-UE55D6500VSXZG-3D-LED-Backlight-Fernseher-400Hz-schwarz/dp/B004QF0R0S/ref=sr_1_1?ie=UTF8&qid=1313499172&sr=8-1")
$ausgabe = _StringBetween($amazon,'<div class="price">',"</div>") ; Hier wird "EUR" wird ausgelesen
$versand = _StringBetween($amazon, '<span class="availGreen">Auf Lager.</span><br />', '<b>Amazon.de</b>.') ; Hier wird "Verkauf und Versand" ausgelesen
$neu = _StringBetween($amazon,'href="/gp/help/seller/at-a-glance.html?ie=UTF8&seller=',"</a>")
If $versand[0] Then
TrayTip("Samsung UE55D6500", $ausgabe[0] & $versand[0] & "Amazon.de",2)
ElseIf $neu[0] Then
$anbieter = StringTrimLeft($neu[0],16); Hier wird nur der Name von Verkäufer xyz von der Variabeln $neu ausgelesen
TrayTip("Samsung UE55D6500", $ausgabe[0] &" - Verkäufer: " & $anbieter,2)
Sleep(3000)
EndIf
Func ende()
Exit
EndFunc
Mit der Func habe ich es mal probiert. Nur ich habe es nicht hinbekommen.
Die Funktion wird aufgerufen und wird nur einmal ausgeführt.
EDIT: Hab´s durch langes rumprobieren geschafft. ![]()
Danke und Gruß
Norman
Ich bin es nochmal.
Ich das script funktioniert dank der Hilfe von euch super.
#include<inet.au3>
#include<string.au3>
#include<Array.au3>
Global $amazon, $preis, $versand
;$amazon = _INetGetSource("http://www.amazon.de/gp/product/B004QO1OUQ/ref=olp_product_details?ie=UTF8&me=&seller=")
$amazon = _INetGetSource("http://www.amazon.de/Samsung-UE55D6500VSXZG-3D-LED-Backlight-Fernseher-400Hz-schwarz/dp/B004QF0R0S/ref=sr_1_1?ie=UTF8&qid=1313499172&sr=8-1")
$ausgabe = _StringBetween($amazon,'<div class="price">',"</div>")
$versand = _StringBetween($amazon, '<span class="availGreen">Auf Lager.</span><br />', '<b>Amazon.de</b>.')
TrayTip("Samsung UE55D6500", $ausgabe[0] & $versand[0] & "Amazon.de",2); das mit Amazon habe ich gemacht weil sonst immer <b> mit drin steht
Sleep(6000)
;_ArrayDisplay($versand)
Jetzt habe ein bisschen rumprobiert und habe es auch teilweise geschafft das er mir ausgibt das der Artikel durch Amazon versand wird. Was ich ja auch haben wollte.
Ich bekomme es einfach nicht hin das er mir anzeigt durch welchen Anbieter dieser Artikel gerade versendet wird.
Ich wollte mit einer IF Abfrage:
[autoit]
If ($versand[0]) <> "Versand durch Amazon" then
msgbox(0, "", "was auch immer")
else
TrayTip("Artikel", $ausgabe[0] & $versand[0] & "Amazon.de",2)
endif
Er gibt mir nicht das aus was ich möchte .
Gruß Norman
Ja. Du solltest die Ausgabe aber dann nicht per msgbox oder arraydisplay machen, da das Script sonst pausiert bis die msgbox weggeklickt wird.
Ich wollte es mit TrayTip machen da kann ich ja auch wie bei Msgbox eine Timer stellen wie lange dieser sichbar sein soll.
Danke für Eure Hilfe
Gruß Norman
Zuhause läuft es bei mir auch nur auf meinem Arbeits PC nicht aber das werde ich anders lösen.
Nun noch was anderes.
Wenn ich das nun in eine For Schleife packe mit 1 Stunde Sleep sollte er mir doch immer den aktuellen Preis geben oder?
Gruß
Norman
Das kann doch nicht wahr sein. Wieso funktioniert es den nicht bei mir?
Hast Du die Variante mit ToolTip($ausgabe[0])
oder
ToolTip($ausgabe) genommen?
Wenn ich das machen kommt folgende Meldung
Subscript used with non-Array variable.:
ToolTip($ausgabe[0])
ToolTip($ausgabe^ ERROR
Hallo zusammen,
ich habe jetzt soviel hier im Forum gefunden bzgl. Internet Seiten auslesen aber es funktioniert bei mir nicht.
Kann mir einer sagen warum es nicht funktioniert?
Ist bestimmt was ganz simples was ich vergessen habe.
Danke und Gruß
Norman
#include<inet.au3>
#include<string.au3>
Global $amazon, $preis
$amazon = _INetGetSource("http://www.amazon.de/Samsung-SSG-3100GB-XC-3D-Brille-geeignet/dp/B004QO1OUQ/ref=sr_1_7?ie=UTF8&qid=1313449099&sr=8-7")
$ausgabe = _StringBetween($amazon,'<div class="price">',"</div>")
ToolTip($ausgabe)
Sleep(3000)
Also dein neuer LED TV muss defenitive an die Wand und am besten noch eine "TV Wand". Ich kann Dir sagen es gibt nichts besseres. Keine Kabel zu sehen, nur der TV.
Gruß
Norman
Danke
Nächstes mal Suche ich vorher in Excel. Mit Strg + F kommt man in die Suchmaske und dann einfach auf den Reiter "Replace". ![]()
Gruß
Norman
Hallo zusammen,
Im folgenden Script wird eine Excel Datei geöffnet wo in Reihe 1 Spalte 6 ein Wert eingelesen wird um diesen später zu verändern.
Wenn ich das Script laufen lasse geht er wie folgt vor.
Vorher: 01234|56789 --> Nachher: /0/1/2/3/4/5/6/7/8/9/
Ersetze ich den "|" durch ein "-" funktioniert das Script.
Hat einer ne Idee warum das so ist?
Gruß
Norman
[autoit]#include<Excel.au3>
global $cellread, $pfad, $_excel, $replace
$pfad = FileOpenDialog("Open", @WindowsDir, "Excel(*.xls)")
$_excel = _ExcelBookOpen($pfad)
Sleep(1000)
For $i = 1 To 10
$cellread = _ExcelReadCell($_excel, $i , 6)
Sleep(1000)
$replace = StringRegExpReplace($cellread,"|","/")
_ExcelWriteCell($_excel, $replace, $i, 6)
Next
Danke für deine Antwort hat wunderbar funktioniert.
Wenn man erstmal den code vor Augen hat sieht dieser so einfach aus aber ich wäre nie drauf gekommen.
Weiß einer wo ich sowas nachlesen kann?
$objUser.Put
$objUser.SetPassword ...usw.
Ich möchte halt nur wissen wann und wo ich sowas anwenden kann.
Gruß
Norman
Hallo zusammen,
Ich probiere gerade das folgende VB Script für Autoit abzuändern komme aber ab "set rechner" nicht mehr weiter.
Weiß einer wie ich weiter machen muss damit alle Felder ausgefüllt werden und der Flag für "Password never Expired" gesetzt wird?
Danke und Gruß
Norman
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
userid = "John"
passwort = "jonny"
name = "Admin"
beschreibung = "Admin"
Set wn = CreateObject("Wscript.Network")
pc = wn.Computername
set rechner = GetObject("WinNT://" & pc )
set konto = rechner.Create("User", userid)
konto.SetPassword passwort
konto.fullname = name
konto.description = beschreibung
objPasswordExpirationFlag = ADS_UF_DONT_EXPIRE_PASSWD
konto.Put "userFlags", objPasswordExpirationFlag
konto.SetInfo 'Daten werden aus Cache in Objekt geschrieben.
Set userObj = GetObject("WinNT://" & pc & "/Administrators")
Set user = GetObject("WinNT://" & pc & "/" & userid)
userObj.Add user.ADsPath
msgbox("Useraccount " & userid & " wurde angelegt.")
Alles anzeigen
Perfekt. Genau das was ich gesucht habe.
Danke für deine Hilfe
Guten Abend bzw. Guten Morgen zusammen,
ich stehe vor folgenden Problem. Ich habe hier in einer Excel Zelle "PLZ" und "Ort" stehen. Ich würde gern das PLZ aus der Zelle ausgeschnitten wird und in die Spalte daneben eingefügt wird.
Gibt es da eine Möglichkeit vllt mit ExcelReadCell?
Habe sowas für VB gefunden nur würde ich das gern in ein Script einbauen.
Sub tt()
Dim Zei As Long, Satz, S
For Zei = 1 To Range("E" & Rows.Count).End(xlUp).Row
Satz = Split(Cells(Zei, 5))
For S = 0 To UBound(Satz)
If IsNumeric(Satz(S)) And Len(Satz(S)) = 5 Then
'Satz(S) = ";" & Satz(S) & ";"
Cells(Zei, 4) = Satz
Exit For
End If
Next S
Next Zei
End Sub
Alles anzeigen
Gruß
Norman
Meinst Du das so?
[autoit][/autoit][autoit][/autoit][autoit]Func _start2()
$input_anz_base = GUICtrlRead($input_anz)
$anz = GUICtrlRead($input_anz)
Gruß
Norman
Func _start2()
$input_anz_base = GUICtrlRead($input_anz)
$input_anz = GUICtrlRead($input_anz)
Perfekt. Danke für eure Hilfe.
@Milla
Könntest Du mir das noch erklären?
$input_anz_base bekommt den Wert von $input_anz?
Und $input_anz bekommt wieder seinen eigenen wert durch GUICtrlRead?
Habe ich das richtig verstanden?
Hallo zusammen,
ich habe mich mal an einer GUI probiert nur leider ohne Erfolg. Habe mir eine kleine GUI erstellt wo 2 input felder sind und ein start und exit Button.
Wenn der Start Button gedrückt wird soll er das eigentliche Script starten was auch den inhalt von der Anzahl Input Box benötigt.
Nur funktioniert es nicht ganz bzw. die 2te While Schleife funkioniert nicht ganz.
Wenn ich bei Anzahl 10 eingebe kommt die MsgBox "Die Schleife läuft noch 1 mal durch"
Wo mache ich den Fehler?
Danke und Gruß
Norman
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $input_anz, $input_pw
[/autoit][autoit][/autoit][autoit]#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 371, 146, 192, 124)
$input_anz = GUICtrlCreateInput("", 56, 40, 97, 21)
$Label1 = GUICtrlCreateLabel("Anzahl", 72, 16, 36, 17)
$Label2 = GUICtrlCreateLabel("PW", 235, 18, 22, 17)
$input_pw = GUICtrlCreateInput("", 208, 40, 89, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Button1 = GUICtrlCreateButton("START", 32, 88, 89, 33)
$Button2 = GUICtrlCreateButton("Exit", 208, 88, 89, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If GUICtrlRead($input_anz) And GUICtrlRead($input_pw) Then
_start2()
Else
MsgBox(64, "Fehler" , "FEHLER")
EndIf
Case $Button2
Exit
EndSwitch
WEnd
Func _start2()
While $input_anz >= 1
$input_anz -= 1
Sleep (1000)
; -------------------------- If Abfrage um darzustellen wie oft die Schleife noch läuft ----------------
If $input_anz = 0 Then ; Wenn $input_anz gleich 0 kommt folgende MsgBox.
MsgBox (0, "Anzahl", "Anzahl = " & $input_anz , 3)
Exit
ElseIf $input_anz = 1 Then ; Wenn $input_anz gleich 1 kommt folgende MsgBox
MsgBox(64, "INFO", "Die Schleife wird noch " & $input_anz & " durchlaufen", 3)
EndIf
; --------------------------- If Abfrage Ende -------------------------------
WEnd
Sleep(1000)
Exit
EndFunc