Ich arbeite an der Erstellung eines Automatisierungs-Framework mit Selenium in Python, wo ich versuche, Landing Pages auf HubSpot.com durch Klicken auf die Schaltfläche "Weiter" zu durchlaufen.Klick durch Paginierung mit Selenium in Python
Die Schaltfläche Weiter wird in der folgenden HTML befindet nach dem Chrome-Inspektor:
<a class="next" data-reactid=".0.1.0.0.2.1.0.0.1.0.$next.0">
<span data-reactid=".0.1.0.0.2.1.0.0.1.0.$next.0.1">Next</span>
<span class="right" data-reactid=".0.1.0.0.2.1.0.0.1.0.$next.0.2"></span>
</a>
Und ich Sie auf die Schaltfläche mit dem folgenden Python-Code:
time.sleep(3)
wait(self.driver, """//a[@class="next" and not(@disabled)]""")
nextButton = self.driver.find_element(By.XPATH, """//a[@class="next" and not(@disabled)]""")
hov = ActionChains(self.driver).move_to_element(nextButton)
hov.click().perform()
wo meine Wartezeit () Funktion ist definiert als:
def wait(dr, x):
element = WebDriverWait(dr, 5).until(
EC.presence_of_element_located((By.XPATH, x))
)
return element
Dies funktioniert ganz gut auf der ersten Seite. Aber aus irgendeinem Grund kann ich auf Seite zwei nicht auf den Button klicken. Keine Fehler, es fängt an zu tun, was es auf Seite drei tun sollte - aber auf Seite zwei. Wenn ich das Skript kurz vor dem Klicken auf die Schaltfläche Weiter auf der zweiten Seite stoppe, kann ich sehen, dass die Schaltfläche im Chromedriver hervorgehoben ist.
Die Schaltfläche Weiter wird in der folgenden HTML auf Seite 2 gemäß dem Chrome Inspector ::
Irgendwelche Vorschläge<a class="next" data-reactid=".0.1.0.0.2.1.0.0.1.0.$next.0">
<span data-reactid=".0.1.0.0.2.1.0.0.1.0.$next.0.1">Next</span>
<span class="right" data-reactid=".0.1.0.0.2.1.0.0.1.0.$next.0.2"></span>
</a>
liegt Ich habe keine Ideen mehr.
Fängt es plötzlich an zu arbeiten, wenn Sie einen Schlaf zwischen dem 1. und 2. Klick hinzufügen? –
Ich nehme an, Sie verwenden diesen Code zweimal (einmal pro Seite), oder? :) Warum verwenden Sie 'ActionChains' anstatt einfach' click() '? – Andersson
@LeviNoecker: Ich habe schon zwischen den Klicks geschlafen. Das ändert leider nichts. – mfvas