我想获取所有链接和start_time和end_time一页,然后发送到函数(parse_detail)以废弃另一个信息
但我不知道如何使用硒来循环
for site in sites:
exceptions.TypeError: 'WebElement' object is not iterable
请教我如何在硒中使用环状scrapy.谢谢!
class ProductSpider(Spider):
name = "city20140808"
start_urls = ['http://wwwtt.tw/11']
def __init__(self):
self.driver = webdriver.Firefox()
dispatcher.connect(self.spider_closed, signals.spider_closed)
def parse(self, response):
self.driver.get(response.url)
item = CitytalkItem()
sites = self.driver.find_element_by_css_selector("div.body ")
for site in sites:
linkiwant = site.find_element_by_css_selector(".heading a")
start = site.find_element_by_css_selector("div.content p.m span.date")
end = site.find_element_by_css_selector("div.content p.m span.date")
item['link'] = linkiwant.get_attribute("href")
item['start_date'] = start.text
item['end_date'] = end.text
yield Request(url=item['link'], Meta={'items':items}, callback=self.parse_detail)
def parse_detail(self,response):
item = response.Meta['items']
........
yield item
解决方法:
而不是find_element_by_css_selector(),它返回一个元素,你需要使用find_elements_by_css_selector()
,它返回一个元素列表.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。