我一直在努力抓取一个通常有10到12个DIV且具有相同类名的网站。单击这些DIV中的任何一个时,它将转到新页面。我想从该页面抓取数据,然后导航回上一页,然后点击下一个div,依此类推。
但我无法弄清楚当我回到上一页时如何点击下一个div?
任何帮助都将不胜感激。
matches = browser.find_elements_by_class_name('ipo-CompetitionBase ')
index = 0
while index <= len(matches):
matches[index].click()
browser.back()
index += 1
答案 0 :(得分:1)
问题在于,您不能简单地找到所有div
并逐个点击它们,因为当您返回上一页时,您之前发现的元素已经变为&#34 ;陈旧&#34;你需要重新找到&#34;它们。
我维护当前div
元素的索引我点击了,每当我回到主页面时,我将单击索引+ 1位置的div
元素。继续,直到您已用尽主页上的所有div
元素。
更像是伪代码:
index = 0
while True:
divs = browser.find_elements_by_class_name('className')
try:
divs[index].click()
except IndexError:
break # no more elements, exit the loop
# do smth
# ...
browser.back()
index += 1