Wie klicke ich auf diese Elemente mit Python und Selenium?

Hallo,

Ich versuche, auf die folgenden Elemente auf dieser Webseite (https://www.bing.com/search?q=Bing+AI&showconv=1&FORM=hpcodx) mit Python und Selenium zu klicken.

//*[@id=“tone-options”]/li[3]/button

//*[@id=“camera-container”]/button

//*[@id=“camera-container”]/cib-flyout/cib-visual-search//div[3]/button[1]

Ich habe XPATH, CSS probiert.

Fehler:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="tone-options"]/li[3]/button"}

 (Session info: chrome=119.0.6045.200)

Stacktrace:

GetHandleVerifier [0x00007FF7D97B82B2+55298]

(No symbol) [0x00007FF7D9725E02]

(No symbol) [0x00007FF7D95E05AB]

(No symbol) [0x00007FF7D962175C]

(No symbol) [0x00007FF7D96218DC]

(No symbol) [0x00007FF7D965CBC7]

(No symbol) [0x00007FF7D96420EF]

(No symbol) [0x00007FF7D965AAA4]

(No symbol) [0x00007FF7D9641E83]

(No symbol) [0x00007FF7D961670A]

(No symbol) [0x00007FF7D9617964]

GetHandleVerifier [0x00007FF7D9B30AAB+3694587]

GetHandleVerifier [0x00007FF7D9B8728E+4048862]

GetHandleVerifier [0x00007FF7D9B7F173+4015811]

GetHandleVerifier [0x00007FF7D98547D6+695590]

(No symbol) [0x00007FF7D9730CE8]

(No symbol) [0x00007FF7D972CF34]

(No symbol) [0x00007FF7D972D062]

(No symbol) [0x00007FF7D971D3A3]

BaseThreadInitThunk [0x00007FF8125E7344+20]

RtlUserThreadStart [0x00007FF8130026B1+33]

kann mir jemand helfen? Danke.

HTML, Webseite, CSS, HTML5, Code, PHP, Programmiersprache, Python, Webdesign, Webentwicklung, Frontend, Python 3, Selenium
Tipps: Ideale Firmengröße und -bereich für angenhemen IT Job?

Hi!

Ich fange bald an als ITler zu Arbeiten und hätte mehrere Angebote:
- C# Entwickler in kleiner wie auch großer Firma
- C# Entwickler + ASP und Typescript in mittelgroßer Firma mit Option später auf Projektmanagement oder Consulting
- Python Entwickler im Bereich NLP/ML

Das Studium war hart. Ständig nebenbei gejobbt, nie genug Geld, kein Bafög bekommen, etc. Habe Erfahrung gesammelt und ein bisschen Skills zu bieten. An Angeboten fehlt es nicht.

Was ich will:

  • idealerweise wäre es für mich, wenn ich eine klare Aufgabe habe und so für mich daran arbeiten kann (darf ruhig Fullstack sein; erstelle gerne GUIs aber tüftle gerne auch an Algorithmen) und angenehme Arbeitswese (nicht übel viel Stress, aber auch keine Langeweile); Abwechslung wäre auch sehr gut (langatmige Projekte deprimieren und demotivieren mich)
  • ich kann mir auf Dauer auch vorstellen, zB nach 2-3 Jahren den Bereich oder die Tätigkeit zu wechseln (Consulting, IT-Beratung, irgendwas mit Kundenterminen, etc). Ich war vor dem Studium auch mal im Außendienst. Bin zwar n ruhiger Typ und kein typischer Drücker-Verkäufer, allerdings liebe ich es rumzukommen, auch mal Kontakt zu Menschen zu haben und nicht den ganzen Tag am Scheibtisch gefesselt zu sein.
  • große Konzerne wo man für jede kleine Aufgabe eine Genehmigung braucht und den ganzen Tag fast nur Zeit totschlägt und Alibi-Arbeit macht will ich auf keinen Fall (hatte ich bisher genug)
  • die täglichen langweilligen Meetings in großer Runde wo man Kamera anmachen muss stressen mich übel, aber na ja, wenn's sein muss.

Ich hätte ein Angebot von einer kleinen Firma, wo ich viele Aufgaben übernehmen kann, was durchaus interessant wäre, aber leider liegt das in einer Stadt wo die Mieten sehr teuer sind und ich ungern dahin will.

In einer anderen Stadt wo die Mieten gut sind, hätte ich ein Angebot für C# in einer großen Firma (laut Kununu viel überstunden und klassisch patriarchalisch aufgebaut, wo man gesagt bekommt vom Chef was genau zu tun ist und man sich fügen muss und durchbeißen muss; dafür gutes Geld und viele Benefits) oder für Python Entwickler in einer mittelgroßen Firma (schlechtere Bezahlung aber bessere WorkLife Balance).

Für die Python/ML Stelle fühle ich mich aktuell garnicht so wirklich qualifiziert (da kein Doktor oder Master in dem Bereich vorhanden). Außerdem wäre es eine Einschränkung im Lebenslauf, da Python Entwickler aktuell seltener gefragt sind als C# Entwickler.

So ganz ideal ist bisher kein Angebot, aber es sollte zumindest kein totaler Reinfall sein.

Falls es hier ITler gibt, rein vom Bauchgefühl her, wozu würdet ihr mir raten?

C Sharp, künstliche Intelligenz, Programmiersprache, Python, Softwareentwickler, Softwareentwicklung, ml, .net-Framework, Software-Entwickler, maschinelles Lernen
vom Listen-key die values im dict auslesen?
def add_vocabulary(key_word, value_word, form='infinitiv'):
dater = datetime.datetime.now().strftime("%d-%m-%Y")
    try:
        with (open('wordlist.json', 'r', encoding="utf-8-sig") as f):
            data = json.load(f)
            if dater not in data:
                data[dater] = {}
            if "0" not in data[dater]:
                data[dater]["0"] = {}
            if key_word not in data[dater]["0"]:
                data[dater]["0"] = [key_word]
            # KeyError 'h'
            if form not in data[dater]["0"][map(lambda y: y['Tags'], data[key_word])]:
                data[dater]["0"][key_word][form] = {}
                data[str(dater)]["0"][key_word][form] = value_word
                print("added as " + form + ": " + "english: " + key_word + "   german: " + value_word)

            while value_word != data[dater]["0"][key_word][form]:
                twogerman = data[dater]["0"][key_word][form]
                overwrite = input(f'do you want overwrite "%s" to "%s" (y-n): ' % (twogerman, value_word))
                if "y" == overwrite or "yes" == overwrite:
                    old_german = data[str(dater)]["0"][key_word][form]
                    data[str(dater)]["0"][key_word][form] = value_word
                    print("overwrite: " + "   form: " + form + ",   english: " + key_word + ",   german: " + old_german)
                    print("white: " + "   english: " + key_word + ",   german: " + value_word)
                    break
                elif "n" == overwrite or "no" == overwrite:
                    break

        with open('wordlist.json', 'w', encoding="utf-8-sig") as f:
            json.dump(data, f)

Schlüsselwort = h; value_word=j;

Ich möchte über das Schlüsselwort = ['h']-Werte auf die Werte zugreifen

Ich habe es mit mappen versucht, aber es erscheint der gleiche KeyError „h“.

Array, Python, Liste, JSON
Wie kann ich eine while Schleife in Text adventure einbauen?

Guten Tag liebe Alle,

ich möchte in meinen Code eine while Schleife einbauen, damit man nach einer Auswahl wieder an den Anfang zurückkehren kann, ohne das Programm neuzustarten.

Wie mache ich das?

print("\033[1m" + "THE VOID" + "\033[0m")

print("\033[1m" + "Erstellt von A.D." + "\033[0m")

input('Press ENTER to continue')

print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')

print('Tippe 1, um das Spiel zu starten')

print('Tippe 2, um Spielinformationen einzusehen')

auswahl1 = input('> ')

if(auswahl1 == '1'):

 print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')

 print("\033[1m" + "THE VOID" + "\033[0m")

 print("\033[1m" + "AKT I." + "\033[0m")

 input('Press ENTER to continue')

 print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')

 print('DISCLAIMER: Achten Sie bei den Antworten auf Groß- und Kleinschreibung.')

 print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')

 input('Press ENTER to continue')

 print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')

 print('Du bist ein 24 jähriger Mann, der jeden Abend spazieren geht.')

 print('Heute möchtest du einen anderen Weg gehen, da dein üblicher langsam monoton wird.')

 print('Entscheidest du dich für den "Schwarzwald" oder für "die Stadt"?')

elif(auswahl1 == '2'):

 print('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━')

 print('Ersteller: Anman Sisic und David Antelj')

 print('Publisher: A.D. Corporations')

 print('Programmiersprache: Python')

 print('27.11.23. - 20.12.23.')

 print('Klasse 9A, IF9')

 print('Tippe 1, um zurückzukehren.')

 auswahl3 = input('> ')

 if(auswahl3 == '1'):

   (Hier möchte ich wieder zum Anfang)

else:

 print('Ungültige Eingabe.')

Informatik, Python
python code optimieren?

Folgendes "Problem" bei meinem Code: Nun möchte ich jedoch, dass das Einrückungslevel nicht anhand des indentaion_level also der Anzahl der Punkte, welches ein Domainname enthält festgemacht wird, sondern ob in der liste die tsl, sld oder weiter subdomains eines Domainnamens enthalten sind. Ich vereinfache meine Erklärung mit einem Beispiel mit dem Domainnamen alles.doof . Wenn jetzt in der Domainnamenliste doof enthalten ist soll der domainname alles.doof einmal eingerückt werden. Wenn jetzt doof jedoch nicht in der liste enthalten ist, wird der domainname alles.doof keinmal eingerückt , da es keinen übergeordneten gibt. optimiere folgenden code dementsprechend:

file_path = 'C:\Übungen\\Algorithmus\\domain_eingabedatei.txt'
def read_domains(file_path):
with open(file_path, 'r') as file:
domains = [line.strip() for line in file]
return domains
#sortiert Domains nach umgekehrter Hierarchie: TLD zuerst, dann SLD und dann weitere Subdomains
def reverse_domain_key(domain):
return tuple(domain.split('.')[::-1])
def sort_domains(domains):
return sorted(domains, key=reverse_domain_key)
def print_domains_with_indentation(sorted_domains):
for domain in sorted_domains:
indentation_level = domain.count('.')
indented_domain = ' ' * indentation_level + domain
print(indented_domain)
if __name__ == "__main__":
#file_path = 'C:\Übungen\\Algorithmus\\domain_eingabedatei.txt'
#Einlesen der Domains
domains = read_domains(file_path)
# Sortieren der Domains
sorted_domains = sort_domains(domains)
#Ausgabe mit Einrückung
print_domains_with_indentation(sorted_domains)
programmieren, Programmiersprache, Python
Python, wo ist hier der Fehler?

Wir erhalten eine Liste mit Elementen, die in eine Datei geschrieben werden sollen. Dazu soll jedes Element der Liste jeweils mit der zusätzlichen Information, an welchem Index wir uns gerade befinden, versehen werden. (Siehe Beispielausgabe in der Tabelle.)

In dieser Aufgabe brauchen wir keinen zusätzlichen print()-Aufruf. Es sollen nur Inhalte in die Datei geschrieben werden; es soll also keine normale Ausgabe der Inhalte geben.

Tipp: Um sowohl Strings als auch Zahlen in die jeweils aktuelle Zeile zu schreiben, können Zahlen mit str() explizit in einen String umgewandelt werden. Dann können alle Teile der Ausgabe mit einem + aneinandergefügt werden.

Zum Beispiel:

filename = "tiere.txt"
elemente = ["Pinguin", "Nashorn", "Chamäleon", "Pinguin"]
Eintrag 1: Pinguin
Eintrag 2: Nashorn
Eintrag 3: Chamäleon
Eintrag 4: Pinguin

filename = "snacks.txt"
elemente = ["Schokolade", "Chips", "Bonbons", "Kuchen", "Käsebrot"]
Eintrag 1: Schokolade
Eintrag 2: Chips
Eintrag 3: Bonbons
Eintrag 4: Kuchen
Eintrag 5: Käsebrot

filename = "farben.txt"
elemente = ["blau", "gelb", "rot", "lila"]
Eintrag 1: blau 
Eintrag 2: gelb
Eintrag 3: rot
Eintrag 4: lila


Und meine Lösung wäre:

def write_to_file(filename, elemente):
    with open(filename, "w") as file:
        for index, element in enumerate(elemente, start=1):
            entry = "Eintrag " + str(index) + ": " + element + "\n"
            file.write(entry)

filename_tiere = "tiere.txt"
elemente_tiere = ["Pinguin", "Nashorn", "Chamäleon", "Pinguin"]
write_to_file(filename_tiere, elemente_tiere)

filename_snacks = "snacks.txt"
elemente_snacks = ["Schokolade", "Chips", "Bonbons", "Kuchen", "Käsebrot"]
write_to_file(filename_snacks, elemente_snacks)

filename_farben = "farben.txt"
elemente_farben = ["blau", "gelb", "rot", "lila"]
write_to_file(filename_farben, elemente_farben)


Computer, programmieren, Informatik, Python

Meistgelesene Fragen zum Thema Python