Python Selenium: Klicken auf Schaltflächen mit komplexer HTML-Struktur
Bei Ihrer Begegnung mit Python Selenium suchen Sie nach einer Methode, mit der Sie auf Schaltflächen klicken können die folgende HTML-Struktur:
<code class="html"><div class="b_div"> <div class="button c_button s_button" onclick="submitForm('mTF')"> <input class="very_small" type="button"> <div class="s_image"></div> <span> Search </span> </div> <div class="button c_button s_button" onclick="submitForm('rMTF')" style="margin-bottom: 30px;"> <input class="v_small" type="button"> <span> Reset </span> </div> </div></code>
Trotz Versuchen mit verschiedenen CSS-Selektoren wie:
driver.find_element_by_css_selector('.button .c_button .s_button').click() driver.find_element_by_name('s_image').click() driver.find_element_by_class_name('s_image').click()
Sie sind auf die NoSuchElementException gestoßen. Um dieser Herausforderung zu begegnen, waren Sie von der Möglichkeit fasziniert, die Onclick-Attribute der HTML-Elemente zu nutzen.
Die Lösung liegt im von Ihnen verwendeten CSS-Selektor. Um erfolgreich auf die Schaltflächen klicken zu können, müssen Sie die Leerzeichen zwischen den Klassen in Ihrem Selektor entfernen. Hier ist die korrigierte Version:
driver.find_element_by_css_selector('.button.c_button.s_button').click()
Durch das Entfernen der Leerzeichen zwischen den Klassen erkennt Selenium die gewünschten Schaltflächen genau und klickt darauf.
Das obige ist der detaillierte Inhalt vonWie klicke ich mit Python Selenium auf Schaltflächen mit komplexer HTML-Struktur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!