2017-07-22 11 views
0

私のアプリケーションでは、ユーザーがいるテーブルがあります。私のテストでは、私は新しいユーザーを追加して、ユーザーが追加されていることを確認したいが、テーブルは1ページ以上を持つことができ、その要素を探しているときに最初のページで見つかる。何かのように、私はどのようにそれを行うためのアイデアを持っているSelenium Python findいくつかの要素の要素

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() 

: はここに私のコードです

if NoSuchElementException 
    find_element_by().click() #click second page 

しかし、私はあなたの例外で、この

+0

秒で無い場合はインデント、コード –

+0

そして、あなたの問題はあなたが –

+0

をスクロールする必要があること、それはスクロールについてではありませんされて、私は、そこに存在する要素場合、最初のページをチェックしていない、場合は、[いいえ]をクリック2番目のページとそこにチェックしたいですページを次に偽 –

答えて

0

を実現する方法がわかりません、プログラムにnext page要素をクリックするように指示します(あなたはそれをどのように見つけたのかを示していません)。あなたの質問がクリックされたときに次のページに移動する要素を見つける方法であれば、ChromeまたはFFを開いてF12キーを押してデバッガを起動し、ページ上の要素を検索してIDを取得します。 、XPATH(またはその他の一意の識別子)を選択し、表示されたとおりにクリックします。だからこのようなものが働くかもしれない。

def is_element_present(driver, how, what): 
    try: 
     driver.find_element(by=how, value=what) 
     return True 
    except NoSuchElementException as e: 
     try: 
      driver.find_element(by=`xpath`, value=`next page xpath`).click() 
      return True 
     except NoSuchElementException as nse: 
      return False 
関連する問題