[英]Return splitted list from loop “while” Python, Selenium
在我的應用程序中,我有一個包含用戶的表,但是該表可以包含多個用戶頁面。 我想使用Selenium Webdriver Python獲取所有頁面中所有用戶的列表。 我有測試功能,該功能轉到第一頁,獲取所有用戶的列表,然后轉到第二頁,獲取用戶列表,直到頁面不再存在:
def test_users1(driver):
login(driver, username="Admin", password="Password")
while True:
try:
#gets list of elements
userslist = driver.find_elements_by_css_selector(".even .odd")
#goes to second page, third...etc.
for i in range(1, 50):
driver.find_element_by_link_text("%s" % i).click()
except NoSuchElementException:
break
return (userslist)
我需要返回循環中所有頁面的所有用戶的拆分列表
def users1(driver):
userslist = []
while True:
try:
#gets list of elements
userslist.extend(driver.find_elements_by_css_selector("tbody tr"))
#goes to second page, third...etc.
for i in range(1, 50):
driver.find_element_by_link_text("%s" % i).click()
except NoSuchElementException:
break
return len(userslist)
def test_users1(driver):
login(driver, username="Admin", password="Password")
assert users1(driver) == 50
嘗試使用列表擴展方法
def test_users1(driver):
login(driver, username="Admin", password="Password")
userslist = []
while True:
try:
#gets list of elements
userslist.extend(driver.find_elements_by_css_selector(".even .odd"))
#goes to second page, third...etc.
for i in range(1, 50):
driver.find_element_by_link_text("%s" % i).click()
userslist.extend(driver.find_elements_by_css_selector(".even .odd"))
# Add new line here ^^^^
except NoSuchElementException:
break
return (userslist)
def users1(driver):
userslist = []
while True:
try:
#gets list of elements
userslist.extend(driver.find_elements_by_css_selector(".even .odd"))
#goes to second page, third...etc.
for i in range(1, 50):
driver.find_element_by_link_text("%s" % i).click()
except NoSuchElementException:
break
return userslist
def test_users1(driver):
login(driver, username="Admin", password="Password")
users = users1(driver)
assert len(users) == 63
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.