1
有在頁面上幾個點擊的元素,我想後面湊一些網頁,但我有這個錯誤和蜘蛛第一次點擊後關閉:Scrapy和硒StaleElementReferenceException
StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up
現在我只是試圖打開頁面來捕捉新的網址。這是我的代碼
from scrapy import signals
from scrapy.http import TextResponse
from scrapy.spider import Spider
from scrapy.selector import Selector
from scrapy.xlib.pydispatch import dispatcher
from MySpider.items import MyItem
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import time
class MySpider(Spider):
name = "myspider"
allowed_domains = ["http://example.com"]
base_url = 'http://example.com'
start_urls = ["http://example.com/Page.aspx",]
def __init__(self):
self.driver = webdriver.Firefox()
dispatcher.connect(self.spider_closed, signals.spider_closed)
def spider_closed(self, spider):
self.driver.close()
def parse(self, response):
self.driver.get(response.url)
item = MyItem()
links = self.driver.find_elements_by_xpath("//input[@class='GetData']")
for button in links:
button.click()
time.sleep(5)
source = self.driver.page_source
sel = Selector(text=source) # create a Selector object
item['url'] = self.driver.current_url
print '\n\nURL\n', item['url'], '\n'
yield item
非常感謝 – Goran