[FIXED] Mit Webdriver zum Element scrollen?

Ausgabe

Ich lerne noch und als Antwort auf eine meiner Fragen: Hier wurde mir gesagt, dass es daran liegen könnte, dass das betreffende Element nicht in Sicht ist.

Ich habe die Dokumentation durchgesehen und SO, hier war die relevanteste Antwort: hier

Sie können die Klasse “org.openqa.selenium.interactions.Actions” verwenden, um zu einem Element zu wechseln:

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 zum Element zu scrollen: Es heißt WebElement nicht definiert.

Ich denke, das liegt daran, dass ich das entsprechende Modul nicht importiert habe. Kann mir jemand sagen, was ich importieren soll?

Bearbeiten: Wie von alecxe darauf hingewiesen, war dies Java-Code.

Aber in der Zwischenzeit, nachdem ich einige Zeit versucht habe, es herauszufinden. Ich habe die Importmethode für WebElement herausgefunden:

from selenium.webdriver.remote.webelement import WebElement

Vielleicht hilft jemandem wie mir.

Das Wie ist auch eine gute Lektion, IMO:

Ging zu: Dokumentation
Die

class selenium.webdriver.remote.webelement.WebElement(parent, id_, w3c=False)

Müssen in das oben erwähnte Befehlsformular getrennt werden.

Lösung

Sie versuchen, Java-Code mit Python auszuführen. In Python/Selenium org.openqa.selenium.interactions.Actionsspiegeln sich die in der ActionChainsKlasse wider :

from selenium.webdriver.common.action_chains import ActionChains

element = driver.find_element_by_id("my-id")

actions = ActionChains(driver)
actions.move_to_element(element).perform()

Oder Sie können auch “in die Ansicht scrollen” über scrollIntoView():

driver.execute_script("arguments[0].scrollIntoView();", element)

Wenn Sie an den Unterschieden interessiert sind:


Beantwortet von –
alecxe


Antwort geprüft von –
Willingham (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like