【发布时间】:2017-04-27 22:04:33
【问题描述】:
最近,我一直在尝试使用 Python 和 Selenium chromedriver 进行 Web-Scraping 和 Crawling。 它是一个有线程的reddit页面,每个线程都有一个标题。单击标题时,它会转到该特定线程。主题由描述和内容组成。
我想做什么:
- 第 1 步)访问 reddit 页面
- 步骤2)扫描所有标题,将它们存储在一个数组中
- 步骤 3) 循环遍历 Title 数组中的每个项目
- 第四步)点击标题
- 第五步)获取描述
- 第 6 步)返回
- 步骤 7) 如果有标题 从步骤 3 开始 否则单击下一步 并获得下一页并从第 1 步开始。
我已经能够获得标题,甚至可以点击我的标题。但是当它返回时,它在这一行给我一个错误:单击并返回页面一次后,步骤 3 中的 data['title'].append(title.text) 。并返回一条错误消息,说明:“消息:过时的元素引用:元素未附加到页面文档”
无法调试此问题,因为我对 python 还很陌生。任何帮助将不胜感激。
代码如下:
for i in range(0,3):
titles = []
titles = browser.find_elements_by_css_selector(".title.may-blank")
for title in titles:
i = i+1
try:
data['title'].append(title.text)
except KeyError:
data['title'] = [title.text]
title.click()
description = browser.find_element_by_css_selector(".usertext-body.may-blank-within.md-container")
print description.text
browser.execute_script("window.history.go(-1)")
button = browser.find_element_by_class_name("next-button")
button.click()
print data['title']
【问题讨论】:
标签: python selenium selenium-chromedriver