Hallo Zusammen,
ich möchte euch heute mal meinen Autologin per Webdriver.udf und Chromedriver.exe für die im Quelltext genannten Website zeigen.
Da es für jede Chrome Version wohl einen eigenen Chromedriver.exe gibt, ist das auch entsprechend zu beachten.
Anhand der vielen Beispiele im englischen Forum, war das unten stehende Konstrukt schnell fertig, da aber Chrome hier immer einen Hinweis zur automatischen Steuerung bringt und immer das Fenster für die Passwort Speicherung aufging, habe ich als Lösung nach einigen Versuchen, die folgende gefunden. Unter "$sDesiredCapabilities" müssen die folgenden Einträge gesetzt werden.
"excludeSwitches": ["enable-automation"], "useAutomationExtension": false, ;
"prefs": {"credentials_enable_service": false},
Hier mal der komplette Quelltext, Sicher kann das ein oder andere noch verbessert werden.
Im Script ist auch noch der ABSCHNITT für den Firefox enthalten.
#include "wd_helper.au3"
#include "wd_core.au3"
$file = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
If FileExists($file) Then
$Fileversion = FileGetVersion($file)
IF StringLeft($Fileversion,2) = "76" Then $webdriver = "chromedriver_76.exe"
IF StringLeft($Fileversion,2) = "77" Then $webdriver = "chromedriver_77.exe"
IF StringLeft($Fileversion,2) = "78" Then $webdriver = "chromedriver_78.exe"
Else
MsgBox(0,"Info","Google Chrome in der richtigen Version nicht vorhanden.")
Exit
EndIf
$mail = "user"
$pass = "pass"
$_WD_DEBUG = $_WD_DEBUG_None ;set to $_WD_DEBUG_None before compiling.
;Global $_WD_DRIVER
Local $sDesiredCapabilities
Local $iIndex
$url = "https://app.slidepresenter.com/#/login"
SetupChrome()
;SetupGecko()
_WD_Startup()
$sSession = _WD_CreateSession($sDesiredCapabilities)
_WD_Navigate($sSession, $url)
;WinSetState ("","",@SW_MAXIMIZE)
_WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='email']")
ConsoleWrite("+ @error = " & @error & @CRLF)
$sElement_mail = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='email']")
_WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='password']")
ConsoleWrite("+ @error = " & @error & @CRLF)
$sElement_pass = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='password']")
If @error = $_WD_ERROR_Success Then
_WD_ElementAction($sSession, $sElement_mail, 'value',$mail)
EndIf
If @error = $_WD_ERROR_Success Then
_WD_ElementAction($sSession, $sElement_pass, 'value',$pass)
EndIf
Sleep(1500)
Send("{ENTER}")
;_WD_DeleteSession($sSession)
_WD_Shutdown()
Func SetupChrome()
;_WD_Option('Driver', 'chromedriver.exe')
_WD_Option('Driver', 'data\'& $webdriver) ;Pfad zur Chromedriver.exe
_WD_Option('Port', 9515)
;_WD_Option('DriverParams', '--log-path="' & @ScriptDir & '\chrome.log"')
_WD_Option('DriverParams')
$sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"unhandledPromptBehavior": "ignore", ' & _
'"goog:chromeOptions": {"w3c": true, "excludeSwitches": ["enable-automation"], "useAutomationExtension": false, ' & _
'"prefs": {"credentials_enable_service": false},' & _
'"args": ["start-maximized"] }}}}'
;---Google Chrome in anderem Pfad installiert---
;~ $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"unhandledPromptBehavior": "ignore", ' & _
;~ '"goog:chromeOptions": {"w3c": true, "excludeSwitches": ["enable-automation"], "useAutomationExtension": false, "binary":"D:/Data/scripte/WebDriver-0.1.0.20/Full/Chrome-bin/chrome.exe", ' & _
;~ '"prefs": {"credentials_enable_service": false},' & _
;~ '"args": ["start-maximized"] }}}}'
EndFunc
Func SetupGecko()
_WD_Option('Driver', 'geckodriver.exe')
;_WD_Option('DriverParams', '--log trace')
_WD_Option('DriverParams')
_WD_Option('Port', 4444)
$sDesiredCapabilities = '{"desiredCapabilities":{"javascriptEnabled":true,"nativeEvents":true,"acceptInsecureCerts":true}}'
EndFunc
Alles anzeigen
Die entsprechende WebDriver UDF findet man unter folgendem Link im engl. Forum:
https://www.autoitscript.com/forum/topic/19…ersion-9102019/
WebDriver Download
https://github.com/Danp2/WebDriver/releases/tag/0.1.0.21
Download der Chromedriver.exe
https://sites.google.com/a/chromium.org…river/downloads
Gruß gmmg