简体   繁体   English

浏览Research Gate Python Selenium的所有成员

[英]Navigate through all the members of Research Gate Python Selenium

I am a rookie in python selenium. 我是python硒的菜鸟。 I have to navigate through all the members from the members page of an institution in Research Gate, which means I have to click the first member to go to their profile page and go back to the members page to click the next member.I tried for loop, but every time it is clicking only on the first member. 我必须从Research Gate所在机构的成员页面中浏览所有成员,这意味着我必须单击第一个成员进入其个人资料页面并返回到成员页面以单击下一个成员。循环,但每次只在第一个成员上单击。 Could anyone please guide me. 谁能指导我。 Here is what I have tried. 这是我尝试过的。

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

You are not even doing anything with the list members in your for loop. 对于for循环中的列表成员,您甚至都没有做任何事情。 The state of the page changes after navigating to a different page & coming back, so you need to find the element again. 导航到另一个页面并返回后,页面的状态会更改,因此您需要再次查找该元素。 One approach to handle this is given below: 解决此问题的一种方法如下:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM