Ich Scraping eine dynamische Seite, die der Benutzer erfordert, klicken Sie mehrmals auf eine Schaltfläche "Weitere Ergebnisse laden", um alle Daten zu erhalten. Gibt es einen besseren Weg, um die Aufgabe zu erreichen, auf ein Element zu klicken, während es angezeigt wird?Python Selen klicken Element während der Anzeige
1
A
Antwort
3
Ich vermute, dass Sie diese Frage stellen, weil die aktuelle Lösung langsam ist. Dies ist vor allem, weil Sie diese fest codierten Verzögerungen haben, die auf mehr warten, als sie normalerweise sollten. Um dieses Problem zu bewältigen ich anfangen würde mit Explicit Waits - initialisieren eine Endlosschleife und brechen sie einmal Selen warten gestoppt für die Schaltfläche angeklickt werden:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
wait = WebDriverWait(driver, 10)
while True:
try:
element = wait.until(EC.element_to_be_clickable((By.XPATH, xpath)))
element.click()
except TimeoutException:
break # cannot click the button anymore
# TODO: wait for the results of the click action
Nun ist der letzte TODO
Teil ist auch wichtig - hier schlage ich vor, Sie warten für eine bestimmte Bedingung, die anzeigen würde, dass ein Klick zu etwas auf einer Seite geführt hat - zum Beispiel wurden mehr Ergebnisse geladen. Sie können beispielsweise eine benutzerdefinierte Erwartete Bedingung verwenden, die this one ähnelt.
Verwandte Themen
- 1. Python Selen klicken n-te Element
- 2. Python + Selen. Element
- 3. Selen finden Element und klicken Sie darauf
- 4. Selen Python ein Element auf Facebook klicken arbeiten nicht
- 5. Selen - kann nicht auf verstecktes Element klicken
- 6. Python Selen - Suchen und klicken Element nach Titel
- 7. nicht möglich Element in Selen zu klicken webdriver Phantomjs Python
- 8. Python/Selen Klicken Sie auf ein Element in einer ul
- 9. Select-Element mit Selen Python
- 10. Python Selen kann nicht auf Senden klicken
- 11. Probleme ein Element klicken Selen mit
- 12. PY selen unittest- Klicken Element nicht Login
- 13. Python Selen im Dropdown-Menü klicken
- 14. einen Link klicken, Selen mit Python mit
- 15. Wie das Label-Element in Selen klicken
- 16. Klicken Sie auf Java Element Scrapy + Selen
- 17. Klicken Sie auf Kontrollkästchen mit Python Selen
- 18. Python-Selen kippen „id“ der Schaltfläche finden, klicken
- 19. Nicht in der Lage Element über WebDriver Selen klicken
- 20. @ Klicken Sie während der Anzeige von MenüListe VUE2.0
- 21. Weird-Python Selen-Knopf klicken, Verhalten
- 22. Python Selen inspizieren drucken Element
- 23. Selen Klicken von LinkText
- 24. Python Selen: Element zur Zeit nicht sichtbar
- 25. Wie versteckte Element mit Python + Selen
- 26. Python + Selen. Klicken Sie auf Java-Block
- 27. Selen warten auf Element klickbar python
- 28. Python Selen - Klicken Sie auf Next Page
- 29. Python 2.7 Selen, Klicken Sie auf die Schaltfläche, während die Seite nicht vollständig geladen
- 30. Python Selen klicken Sie auf einen Link