Python Selenium Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DonaldBug13
User
Beiträge: 1
Registriert: Sonntag 7. März 2021, 06:07

Hey Leute,

ich möchte auf der Trading Platform https://app.stormgain.com einen Prozess mit Selenium automatisieren. Es soll nämlich das Login Formular automatisch ausgefüllt, dann die Seite des Crypto Miners geöffnet und dann der Button "Aktivieren" angeklickt werden.
Der Login: funktionniert.
Das aufrufen der Miner Seite: funktioniert.
Das Klicken des Knopfes: ... Regt mich sowas von auf! Erstmal ist die ganzer Miner Seite in nem iframe, was schon genug Kopfschmerzen bereitet und was wahrscheinlich auch das Hauptproblem ist. Dann aber hat der Button noch nicht mal einen xpath oder eine id. Ich habe es über find_element_by_link_text, ...class_name, über ...tag_name und auf Gott weiß welchem Wege versucht. Nichts. Und ich bin wohl offenbar zu blöd, das mit dem iframe zu deigseln. Könnte mir jemand nen Denkanstoß geben oder sogar die (vielleicht gar nicht mal so komplizierte Lösung) zukommen lassen. Mein Code steht unten.

Grüße

DonaldBug13

Code: Alles auswählen

	
# Don't click the mining button manually, otherwise you'll have to wait four hours.
# The account and passwaord were just created for this script.

import selenium
import time
from selenium.webdriver.common.keys import Keys

account = 'peterpan8510@web.de'
pwd = 'Peter1Pan!#'

driver = selenium.webdriver.Chrome('/chromedriver_linux64/chromedriver')  # custimize this path to your own
driver.get('https://app.stormgain.com')
driver.maximize_window()
time.sleep(2)
login_button = driver.find_element_by_link_text('Anmelden')
login_button.click()
username = driver.find_element_by_id('email')
username.send_keys(f'{account}')
password = driver.find_element_by_id('password')
password.send_keys(f'{pwd}', Keys.RETURN)
time.sleep(3)
find_miner = driver.find_element_by_link_text('Miner')
find_miner.click()
time.sleep(3)
# Problem 1: switch to iframe
# Problem 2: find the mining button and click
time.sleep(3)
driver.quit()
Antworten