Python ist es nicht möglich send_keys()

Django, Flask, Bottle, WSGI, CGI…
Antworten
DeF3c
User
Beiträge: 8
Registriert: Sonntag 1. März 2020, 12:03

Moin Mon folgendes Problem:

Code: Alles auswählen

div class="q02Nz _0TPg" data-testid="new-post-button" role="menuitem" tabindex="0">
<svg aria-label="New Post" class="_8-yf5 " fill="#262626" height="24" viewBox="0 0 48 48" width="24">…</svg>
, ist der HTML Tag für einen Button.
Dieser Button wird mit

Code: Alles auswählen

element = self.driver.find_element_by_xpath("//*[@data-testid='{}']".format("new-post-button")).send_keys("pathtojpg") or element = self.driver.find_element_by_xpath("//*[@aria-label='{}']".format("New Post")).send_keys("pathtojpg")
gefunden und soll einen Filepath senden, um ein Bild hochzuladen. Allerdings, passiert gar nichts, das einzige was passiert ist, dass der Button Blau umranden wird. Irgendwelche Vorschläge?
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Hast du schon einmal mit Python gearbeitet? Das was du da tust sieht sehr seltsam aus.
Ich bin mir ziemlich sicher, dass das "or" nicht tut, was du denkst, und das gilt auch für den Wert von "element".

Finde erst das Element und binde es an einen Namen. Anschließend arbeitest du damit.
DeF3c
User
Beiträge: 8
Registriert: Sonntag 1. März 2020, 12:03

sparrow hat geschrieben: Dienstag 3. März 2020, 16:10 Hast du schon einmal mit Python gearbeitet? Das was du da tust sieht sehr seltsam aus.
Ich bin mir ziemlich sicher, dass das "or" nicht tut, was du denkst, und das gilt auch für den Wert von "element".

Finde erst das Element und binde es an einen Namen. Anschließend arbeitest du damit.
Das or ist aus meiner auf englisch gestellten Frage, dessen bin ich mir durchaus bewusst!
Wieso das element in deinen Augen keinen Sinn macht, verstehe ich auch nicht.
Ich könnte (würde ich .send_keys() weglassen, weiter mit dem element arbeiten?
Mir ist auch gerade bewusst geworden, dass ich einen <input> tag brauche, aber danke für deinen Konstruktiven Beitrag :)
Benutzeravatar
__blackjack__
User
Beiträge: 13103
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@DeF3c: Ich weiss nicht was Du mit der Antwort zu dem ``or`` meinst aber der gezeigte Code ist kein syntaktisch korrektes Python. Zeig doch mal was Du tatsächlich versucht hast. Sonst müssen wir nicht nur rätseln wo denn das Problem liegen könnte, sondern auch nocht wie der Code zu dem Problem denn aussehen mag.

Warum formatierst Du literale Zeichenketten in literale Zeichenketten? Das macht nicht wirklich Sinn - da kann man doch gleich das Ergebnis ins Programm schreiben.

Mir ist auch nicht so ganz klar was Du mit Zeichen eintippen auf einem Buttom erreichen willst. Dafür braucht man ja eher ein Texteingabelement wie <input> oder <textarea>.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
4fersen
User
Beiträge: 11
Registriert: Samstag 28. März 2020, 21:47
Wohnort: 127.0.0.1

Hast du es schon hinbekommen? Falls nicht, weil du es nicht geschafft hast mithilfe von Selenium einen Pfad zu senden, dieses Problem hatte ich auch einmal, weswegen ich dann auf AutoIt zurückgreifen musste.

Einfach mal "Selenium autoit folder" googeln.


Liebe Grüße
Antworten