[PYTHON] Melden Sie sich einfach mit mehreren Konten bei AWS an

Melden Sie sich einfach mit mehreren Konten bei AWS an

Das Wechseln ist problematisch, wenn mehrere Konten in AWS verwendet werden. In Chrome können Sie anscheinend damit umgehen, indem Sie in den geheimen Modus wechseln oder das Chrome-Konto selbst wechseln. Dies ist jedoch auch problematisch.

Aus diesem Grund habe ich mich entschieden, Selenium und Webdriver zu verwenden, um den Browser zu starten und mich dann anzumelden.

Speichern Sie zunächst die folgende Quelle als login.py. Bitte schreiben Sie E-Mail und Passwort nach Ihren Wünschen.

#! /usr/bin/env python
#-*- coding: utf-8 -*-

from selenium import webdriver

email = 'EMAIL'
password = 'PASSWORD'

d = webdriver.Chrome("./chromedriver")
d.get('https://www.amazon.com/ap/signin?openid.assoc_handle=aws&openid.return_to=https%3A%2F%2Fsignin.aws.amazon.com%2Foauth%3Fresponse_type%3Dcode%26client_id%3Darn%253Aaws%253Aiam%253A%253A015428540659%253Auser%252Fhomepage%26redirect_uri%3Dhttps%253A%252F%252Fconsole.aws.amazon.com%252Fconsole%252Fhome%253Fstate%253DhashArgs%252523%2526isauthcode%253Dtrue%26noAuthCookie%3Dtrue&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&action=&disableCorpSignUp=&clientContext=&marketPlaceId=&poolName=&authCookies=&pageId=aws.ssop&siteState=pre-register%2Cja&accountStatusPolicy=P1&sso=&openid.pape.preferred_auth_policies=MultifactorPhysical&openid.pape.max_auth_age=120&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&server=%2Fap%2Fsignin%3Fie%3DUTF8&accountPoolAlias=&forceMobileApp=0&language=ja&forceMobileLayout=0')

inputEmail = d.find_element_by_id('ap_email')
inputEmail.send_keys(email)
inputPassword = d.find_element_by_id('ap_password')
inputPassword.send_keys(password)
signInBtn = d.find_element_by_id('signInSubmit-input')
signInBtn.click()

d.maximize_window()

Wenn es sich also um einen Mac handelt, erstellen Sie einen Stapel in derselben Hierarchie wie login.command.

cd `dirname $0`
./login.py
exit

Rufen Sie danach spotlight mit ⌘ + Leertaste auf und rufen Sie login.command auf, um den Browser zu öffnen und sich anzumelden. Es ist so, als würden Sie die obigen Dateien für jedes Konto vorbereiten.

Es ist ziemlich rau, aber bitte sag mir, ob es einen anderen guten Weg gibt.

Recommended Posts

Melden Sie sich einfach mit mehreren Konten bei AWS an
Melden Sie sich mit SSH bei einem Remote-Server an
Melden Sie sich mit Selenium Python bei Yahoo Business an
Erste Schritte mit AWS IoT in Python
Erstellen Sie Amazon Linux mit AWS EC2 und melden Sie sich an
[AWS] Umgang mit dem Fehler "Ungültiger Codepunkt" in CloudSearch
Ich kann mich mit Django 3 nicht auf der Admin-Seite anmelden
Ich wollte mit boto3 mehrere objekte in s3 löschen
So melden Sie sich mit Python bei AtCoder an und senden automatisch
Stellen Sie mit SQL Alchemy eine Verbindung zu mehreren Datenbanken her
Mit Python 3 einfach auf Twitter posten
So melden Sie sich bei Docker + NGINX an
Melden Sie sich mit ssh ohne Passwort bei Raspberry PI an (Schlüsselauthentifizierung)
Zwei Möglichkeiten, mit matplotlib mehrere Grafiken in einem Bild anzuzeigen
Ich habe versucht, mich automatisch mit Selen bei Twitter anzumelden (RPA, Scraping)
Wie man mit matplotlib mehrere Figuren betitelt
Senden Sie mit Python (Python3) E-Mails an mehrere Empfänger.
Python-Protokoll mit GAE an die Konsole ausgeben
So arbeiten Sie mit BigQuery in Python
Melden Sie sich mit Anforderungen in Python bei Slack an
Ich möchte mit aws mit Python spielen
Verarbeiten Sie mehrere Listen mit for in Python
Wenn Sie mehrere Statistiken mit groupby of pandas v1 erhalten möchten
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Daten in RDS mit AWS Glue überschreiben
So betreiben Sie die Zeitstempelstation in Python
Laden Sie das, was Sie angefordert haben, mit AWS Lambda Python in S3 hoch
Skript zur ordnungsgemäßen Verwendung mehrerer Github-Konten im selben Repository auf demselben Computer
Umgang mit Speicherlecks in matplotlib.pyplot
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie ein Protokoll mit Docker, nicht um ein Protokoll zu sammeln
Speichern Sie mehrere Modelle in einem Formular mit Django
Konvertieren Sie PDFs mit Python in Massenbilder
Ich habe versucht, Keras in TFv1.1 zu integrieren
Ich möchte mehrere Bilder mit matplotlib anzeigen.
Konvertieren Sie Jupyter-Notizbücher ganz einfach in Blogs mit Fastpages
Umgang mit Laufzeitfehlern in subprocess.call
Wie man tkinter mit Python in Pyenv benutzt
AWS-Schrittfunktionen zum Lernen anhand eines Beispiels
Verbinden Sie Xillybus und Benutzerlogik ganz einfach mit cReComp
[Python] Umgang mit mehreren Aufruffehlern in ray.init
Konfigurieren Sie ein Modul mit mehreren Dateien in Django
Loggen Sie sich mit json mit pygogo ein.
[Python] Erwähnen Sie mit der Slack-API mehrere Personen
So geben Sie mit der Indexmethode mehrere Indizes zurück
Beschreiben Sie das mehrstufige SSH-Ziel in der Konfiguration, melden Sie sich einfach an und kopieren Sie die Datei mit scp
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Ich möchte Timeout einfach in Python implementieren
Erstellen Sie HPC einfach auf AWS mit echtem AWS Cfn Cluster
So erhalten Sie mehrere Modellobjekte zufällig in Django
So schreiben Sie in Python die Verkettung von Zeichenfolgen in mehrere Zeilen
Ich möchte mit einem Knopf am Kolben übergehen
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Weisen Sie mit np.array einer beliebigen Spalte in jeder Zeile zu
Fügen Sie AWS-Daten mit boto + gspread in Google Spreadsheet ein
Umgang mit Pyenv-Initialisierungsfehlern bei Fischen 3.1.0
So führen Sie mit OpenCV ein Null-Padding in einer Zeile durch
So führen Sie Tests zusammen mit Python unittest aus
So laden Sie Dateien in Google Drive mit Google Colaboratory
Konvertieren Sie das Bild in .zip mit Python in PDF