我一直致力于抓取一个通常有 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
最佳答案
这样做的问题是,您不能简单地找到所有 div
并逐个单击它们,因为当您返回上一页时,您之前找到的元素已经变得“过时” ”,你需要“重新找到”它们。
我会维护我正在单击的当前 div
元素的索引,并且每次返回主页时,我都会单击div
元素位于索引 + 1 位置。继续此操作,直到用完主页上的所有 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
关于python - Selenium:如何单击具有相同类名的所有 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37776723/