Eine Möglichkeit zur Behandlung der Windows-Authentifizierung besteht darin, die Anmeldeinformationen in der URL selbst zu übergeben, wie unten gezeigt

driver.get('http://username:password@abc.com')

In meinem Fall enthält das Passwort jedoch ein Sonderzeichen wie 'password @ 123', sodass der Code jetzt das doppelte Sonderzeichen '@' enthält, wie unten gezeigt

driver.get('http://username:password@123@abc.com')

Ich habe versucht, '@' durch '% 40' mit URL-Encoder / Decoder zu ersetzen, aber es funktioniert nicht. Ich arbeite mit Python-Selen. Hast du eine Idee, wie ich mit einem solchen Szenario umgehen soll?

2
Shoaib Akhtar 18 Apr. 2018 im 15:11

3 Antworten

Beste Antwort

Eine einfache rohe Zeichenfolge erledigt die Aufgabe, , mit der ich dreifache Anführungszeichen verwende, um möglichen Fehlern zu entgehen ' und ".

driver.get(r'''http://username:password@123@abc.com''')
1
Yono 8 Mai 2018 im 13:58

Wenn Ihr Benutzername 'shoaib' und Ihr Passwort akhtar@123 ist, sollte Ihr .get() Aufruf lauten:

driver.get('http://shoaib:akhtar%40123@abc.com')
0
edixon 30 Apr. 2018 im 21:21

Können Sie bitte mit der folgenden Syntax ausprobieren:

String url =  http://username:password%40123@abc.com;
driver.get(url);

In einer der Anwendungen haben wir mehr als ein @ -Zeichen im Passwort. Ich entkomme einfach dem @ -Zeichen. Beispielsweise

URL: http://username:password@#@@sample.com
Encoded_URL:  http://username:password%40%23%40@sample.com

Und versuchen Sie dann, die verschlüsselte URL zu durchsuchen.

driver.get(Encoded_URL);

Für mich funktioniert es gut. Bitte lassen Sie mich wissen, ob es für Sie funktioniert.

0
Aditya Gaurav 26 Apr. 2018 im 14:00