2017-10-12 34 views
1

我是一个蟒蛇的新手。我必须从研究门的一个机构的成员页面浏览所有成员,这意味着我必须点击第一个成员才能进入其个人资料页面并返回到成员页面以单击下一个成员。我尝试了循环,但每次只能在第一个成员上单击。任何人都可以请指导我。这是我尝试过的。浏览研究门蟒Selenium的所有成员

from selenium import webdriver 
import urllib 

driver = webdriver.Firefox("/usr/local/bin/") 

university="Lawrence_Technological_University" 

members= driver.get('https://www.researchgate.net/institution/' + university +'/members') 

membersList = driver.find_element_by_tag_name("ul") 

list = membersList.find_elements_by_tag_name("li") 

for member in list: 
    driver.find_element_by_class_name('display-name').click() 
    print(driver.current_url) 
    driver.back() 

回答

2

你甚至没有对for循环中的列表成员做任何事情。导航到不同页面后,页面状态会发生变化,因此您需要再次找到该元素。一种处理方法如下:

for i in range(len(list)): 
    membersList = driver.find_element_by_tag_name("ul") 
    element = membersList.find_elements_by_tag_name("li")[i] 
    element.click() 
    driver.back()