Ich lerne immer noch und als Antwort auf eine meiner Fragen: here, wurde mir gesagt, dass es fällig sein könnte, weil das fragliche Element nicht in Sicht ist.Scrollen zu Element mit Webdriver?
Ich sah die Dokumentation durch und SO, hier war die relevanteste Antwort: here
Sie können die „org.openqa.selenium.interactions.Actions“ Klasse verwenden, um ein Element zu bewegen:
WebElement element = driver.findElement(By.id("my-id"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
## actions.click();
actions.perform();
Wenn ich versuche, das obige zu verwenden, um zu dem Element zu scrollen: Es sagt WebElement nicht definiert.
Ich denke, das ist, weil ich das relevante Modul nicht importiert habe. Kann jemand darauf hinweisen, was ich importieren soll?
Bearbeiten: Wie von Alecxe hingewiesen, war dies Java-Code.
Aber in der Zwischenzeit direkt nach dem Versuch, es für einige Zeit herauszufinden. Ich habe die Importmethode für WebElement herausgefunden:
from selenium.webdriver.remote.webelement import WebElement
Könnte jemandem wie mir helfen.
Die, wie es ist auch eine gute Lektion, IMO:
gingen an: Documentation Die
class selenium.webdriver.remote.webelement.WebElement(parent, id_, w3c=False)
in die Befehlsform oben erwähnt getrennt werden müssen.
Ah ... da war ich für 3 Stunden probiert jede Methode, die ich auf SO und die Dokumentation gefunden. Ich habe die erste Lösung versucht, muss es aber irgendwie durcheinander gebracht haben. Ich werde ScrollIntoView Vs moveToElement lesen. Nur eine kurze Frage, ich brauche die gleichen Schritte, die ich 100 Mal machen muss, ich denke daran, eine "for" -Schleife zu verwenden. Wäre das ein guter Ansatz? – Sid
@Sid schwer zu sagen. In bestimmten Fällen können Sie die Aktionen einfach in einer Schleife verketten und dann nach der Schleife ausführen, aber alles hängt von einem Anwendungsfall ab.Sehen Sie, ob es sinnvoll ist, ein separates SO-Thema dafür zu erstellen, wenn Hilfe benötigt wird. Vielen Dank. – alecxe