浏览Research Gate Python Selenium的所有成员 [英] Navigate through all the members of Research Gate Python Selenium

查看:101
本文介绍了浏览Research Gate Python Selenium的所有成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是python硒领域的新秀.我必须在Research Gate的机构的成员页面中浏览所有成员,这意味着我必须单击第一个成员以转到其个人资料页面,然后返回到成员页面以单击下一个成员.循环,但每次只在第一个成员上单击.谁能指导我.这是我尝试过的.

I am a rookie in python selenium. 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. 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()

推荐答案

对于for循环中的列表成员,您甚至都没有做任何事情.导航到其他页面后,页面的状态会更改.回来,所以您需要再次找到元素.解决此问题的一种方法如下:

You are not even doing anything with the list members in your for loop. 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() 

这篇关于浏览Research Gate Python Selenium的所有成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆