在我的应用程序中,我有一个用户表,但该表可以有超过1页的用户。 我想用Selenium Webdriver Python获取所有页面中所有用户的列表。 我需要一些算法,它将计算第一页中的用户然后点击第二页计数,直到页面完成,并返回整个列表。 我有一些想法,但不知道如何实现这一点, 如下所示:
def users(driver):
list_users = []
for list_users in range(n):
#selector for click on second page
num = num + 1
#getting all users from 1 page
driver.find_elements_by_css_selector(".even .odd")
#click on second page until pages is exist
driver.find_elements_by_link_text("%s" % num)
until NoSuchElementException
return list_users
我知道它甚至没有接近工作算法,但我试图解释我想要的东西
答案 0 :(得分:0)
假设您只需要总人数并且您已登录...
ini_set('display_errors',1);error_reporting E_ALL;
产量" 1-50 of 53"这是来自这里看到的网站索引
告诉您列表中的总人数
然后获得总使用量
people = driver.find_element_by_xpath('//*
[@id="frmList_ohrmListComponent"]/div[1]/ul/li[1]').text
print people
,它给你的值为53
------------- EDIT -----------------------
让用户循环浏览标签和页面
print people.split()[2]
答案 1 :(得分:0)
def users1(driver):
l=()
while l != NoSuchElementException:
userslist = driver.find_elements_by_css_selector(".even .odd")
for i in range(1, 50):
l = driver.find_element_by_link_text("%s" % i).click()
return userslist