In meiner Anwendung habe ich eine Tabelle mit Benutzern. In meinem Test möchte ich neue Benutzer hinzufügen und dann überprüfen, ob der Benutzer hinzugefügt wird, aber die Tabelle kann mehr als 1 Seite haben, und wenn ich dieses Element suche, kann ich es nur auf der ersten Seite finden. Hier ist mein Code:Selenium Python finden Element auf wenigen Seiten
def test_new_user(driver, username='jared144'):
login(driver, username="Admin", password="Password")
# add new user
add_new_user(driver, username)
#check if the new user added
assert is_element_present(driver, By.LINK_TEXT, "%s" % username)
def add_new_user(driver, username):
driver.find_element_by_css_selector("[id=btnAdd]").click()
driver.find_element_by_css_selector("[id=systemUser_employeeName_empName]").send_keys("Adelia Foxy")
driver.find_element_by_css_selector("[id=systemUser_userName]").send_keys("%s" % username)
driver.find_element_by_css_selector("[id=systemUser_password]").send_keys("12345678")
driver.find_element_by_css_selector("[id=systemUser_confirmPassword]").send_keys("12345678")
driver.find_element_by_css_selector("[id=btnSave]").click()
def is_element_present(driver, how, what):
try:
driver.find_element(by=how, value=what)
except NoSuchElementException as e:
return False
return True
def login(driver, username, password):
driver.get("http://hrm.seleniumminutes.com/")
driver.find_element_by_css_selector("[name=txtUsername]").send_keys(username)
driver.find_element_by_css_selector("[name=txtPassword]").send_keys(password)
driver.find_element_by_css_selector("[name=Submit]").click()
driver.find_element_by_css_selector("[id=menu_admin_viewAdminModule]").click()
Ich habe eine Idee, wie das zu tun, so etwas wie:
if NoSuchElementException
find_element_by().click() #click second page
Aber ich weiß nicht, wie diese
einrücken Code –
Und Ihr Problem ist, dass Sie benötigen –
blättern, es ist nicht zu scrollen, ich dort erste Seite, wenn Element vorhanden überprüfen möge, wenn kein Klick zweite Seite und es überprüfen, ob nicht in Sekunden Seite dann False –