Webseite auto login
Hallo,
Ich habe jetzt versucht mit SciTE ein Script zu schreiben mit dem Autologin. Funktioniert an sich auch.
Jetzt habe ich nur ein Problem.. ich mache das momentan mit Internet Explorer. Der zeigt mir jedoch beim aufrufen der Seite,
dass die Seite nicht vertrauenswürdig ist. D.h. ich muss erst noch das Risiko akzeptieren. Wenn ich die Seite im Firefox aufrufe geht es direkt.
Ich habe versucht das Zertifikat bei Vertrauenswürdigen Zertifikaten zu installieren - bringt aber nichts. Jetzt würde ich das gerne in Firefox machen - weiß jemand wie ich den code dann umschreiben muss?
btw. kann mir jemand sagen was das für eine Script Sprache ist ...haha :D
Ich habe jetzt versucht mit SciTE ein Script zu schreiben mit dem Autologin. Funktioniert an sich auch.
Jetzt habe ich nur ein Problem.. ich mache das momentan mit Internet Explorer. Der zeigt mir jedoch beim aufrufen der Seite,
dass die Seite nicht vertrauenswürdig ist. D.h. ich muss erst noch das Risiko akzeptieren. Wenn ich die Seite im Firefox aufrufe geht es direkt.
Ich habe versucht das Zertifikat bei Vertrauenswürdigen Zertifikaten zu installieren - bringt aber nichts. Jetzt würde ich das gerne in Firefox machen - weiß jemand wie ich den code dann umschreiben muss?
btw. kann mir jemand sagen was das für eine Script Sprache ist ...haha :D
#include <IE.au3>
Call ("signIn")
Func signIn ()
Global $oIE = _IECreate ("*WEBSEITENNAME.com*)
Local $username = _IEGetObjByName ($oIE, "login")
Local $password = _IEGetObjByName ($oIE, "passw")
Local $button = _IEGetObjByName ($oIE, "butt")
_IEFormElementSetValue ($username, "eingabe username")
_IEFormElementSetValue ($password, "eingabe passwort")
_IEAction ($button, "click")
EndFunc
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 584509
Url: https://administrator.de/contentid/584509
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
10 Kommentare
Neuester Kommentar
Dann versuche mal, das unter "vertrauenswürdige Stammzertifizierungsstellen" abzulegen.
Wo?
Damit ich Lösungen selbst dazu googlen kann :D
Ist das VBS?
Da gibt es für alle gängigen Script- und Compilersprachen im Web was zu finden.Ist das VBS?
Nein, das ist AutoIT ! Schon bedenklich wenn man das noch nicht mal weiß obwohl man damit programmiert bzw. Bei dir eher copy n pasted.
Für den Firefox gibt es nativ keine Automatisierungs API.
Da musst du dann entweder zu SeleniumHQ oder den diversen Drittanbieter Automatisierungs APIs greifen.
https://www.hosteurope.de/blog/browser-automation/
Für den Firefox gibt es nativ keine Automatisierungs API.
Da musst du dann entweder zu SeleniumHQ oder den diversen Drittanbieter Automatisierungs APIs greifen.
https://www.hosteurope.de/blog/browser-automation/
Dann hast du es nicht im Computer- sondern in User-Store abgelegt.
Servus,
hier mal ein Beispiel mit Selenium und Firefox für den Administrator.de Login.
Der IE ist ja mittlerweile nicht mehr zeitgemäß.
Benutzername und Password sind in Zeilen 1 und 2 einzutragen.
Der hiesige Code loggt sich hier ein, navigiert zu der Fragen-Seite, pausiert zur Demo 2 Sekunden, loggt sich dann wieder aus und schließt die Firefox-Session.
Das Skript ist deshalb etwas länger da eine Funktion zum automatischen Download des Selenium Webdrivers und der Gecko-Engine EXE aus den Nuget Repos enthalten ist, so das jeder es ohne sich die Libraries selbst besorgen zu müssen ausprobieren kann.
Es lädt die Assemblies (eine DLL und eine EXE) entweder ins gleiche Verzeichnis in der das Skript liegt, oder wenn es ohne zu speichern ausgeführt wird ins %TEMP% Verzeichnis herunter.
Die eigentlich essentiellen Codestellen beginne ab Zeile 47. Die Stellen die Benutzername, Passwortfeld und Login-Button referenzieren sind natürlich bei Verwendung mit anderen Seiten entsprechend anzupassen!
Wenn dafür Hilfe benötigt wird => PN
Viel Spaß damit
Grüße Uwe
hier mal ein Beispiel mit Selenium und Firefox für den Administrator.de Login.
Der IE ist ja mittlerweile nicht mehr zeitgemäß.
Benutzername und Password sind in Zeilen 1 und 2 einzutragen.
Der hiesige Code loggt sich hier ein, navigiert zu der Fragen-Seite, pausiert zur Demo 2 Sekunden, loggt sich dann wieder aus und schließt die Firefox-Session.
Das Skript ist deshalb etwas länger da eine Funktion zum automatischen Download des Selenium Webdrivers und der Gecko-Engine EXE aus den Nuget Repos enthalten ist, so das jeder es ohne sich die Libraries selbst besorgen zu müssen ausprobieren kann.
Es lädt die Assemblies (eine DLL und eine EXE) entweder ins gleiche Verzeichnis in der das Skript liegt, oder wenn es ohne zu speichern ausgeführt wird ins %TEMP% Verzeichnis herunter.
Die eigentlich essentiellen Codestellen beginne ab Zeile 47. Die Stellen die Benutzername, Passwortfeld und Login-Button referenzieren sind natürlich bei Verwendung mit anderen Seiten entsprechend anzupassen!
Wenn dafür Hilfe benötigt wird => PN
$USERNAME = 'USERNAME'
$PASSWORD = 'PASSWORD'
$WEBSITE = 'https://administrator.de/members/login.php'
# functions loads required assemblies from nuget
function Load-NugetAssembly {
[CmdletBinding()]
param(
[string]$url,
[string]$name,
[string]$zipinternalpath,
[switch]$downloadonly
)
# Accept all TLS protocols
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::GetNames([System.Net.SecurityProtocolType])
$localpath = @{$true=(join-path $psscriptroot $name);$false=(join-path $env:TEMP $name)}[($psscriptroot -ne '')]
$tmp = "$env:TEMP\$([IO.Path]::GetRandomFileName())"
try{
if(!(Test-Path $localpath)){
Add-Type -A System.IO.Compression.FileSystem
write-host "Downloading and extracting required library '$name' ... " -F Green -NoNewline
(New-Object System.Net.WebClient).DownloadFile($url, $tmp)
$zip = [System.IO.Compression.ZipFile]::OpenRead($tmp)
$zip.Entries | ?{$_.Fullname -eq $zipinternalpath} | %{
[System.IO.Compression.ZipFileExtensions]::ExtractToFile($_,$localpath)
}
write-host "OK" -F Green
}
if(!$downloadonly.IsPresent){
Add-Type -Path $localpath -EA Stop
}
}catch{
throw "Error: $($_.Exception.Message)"
}finally{
if ($zip){$zip.Dispose()}
if(Test-Path $tmp){del $tmp -Force}
}
}
# load required assemblies if not already loaded
if (!('OpenQA.Selenium.Firefox.FirefoxDriver' -as [Type])){
Load-NugetAssembly 'https://www.nuget.org/api/v2/package/Selenium.WebDriver' -name 'WebDriver.dll' -zipinternalpath 'lib/net40/WebDriver.dll' -EA Stop
Load-NugetAssembly 'https://www.nuget.org/api/v2/package/Selenium.WebDriver.GeckoDriver' -name 'geckodriver.exe' -zipinternalpath 'driver/win64/geckodriver.exe' -downloadonly -EA Stop
}
# -----------
# create driver service
$dService = [OpenQA.Selenium.Firefox.FirefoxDriverService]::CreateDefaultService()
# hide command prompt window
$dService.HideCommandPromptWindow = $true
# create firefox driver object
$ff = New-Object OpenQA.Selenium.Firefox.FirefoxDriver $dService
# set position and window size
$ff.Manage().window.Size = [System.Drawing.Size]::new(1024,768)
$ff.Manage().window.position = [System.Drawing.Size]::new(0,0)
# set page url and navigate to logon page
$ff.Url = $WEBSITE
$ff.Navigate() | out-null
# find username-, password- and logon button fields
$user = $ff.FindElementById('global-login-field')
$pass = $ff.FindElementById('global-login-pass')
$btnlogin = $ff.FindElementByTagName('button')
# enter information into fields
$user.SendKeys($USERNAME)
$pass.SendKeys($PASSWORD)
# invoke click function of logon button
$btnlogin.Click()
# navigate to questions page
$ff.Url = 'https://administrator.de/forum/'
$ff.Navigate() | out-null
# sleep some time for demo purpose
sleep 2
# then logout from page
$ff.Url = 'https://administrator.de/members/logout.php?true'
$ff.Navigate() | out-null
# and finally quit browser
$ff.Quit()
Viel Spaß damit
Grüße Uwe