先看下报错信息
File "/root/pro/G_spider/weibo_spider/src1/src/get.py", line 190, in load_footer_weibo
footer[0].click()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 65, in click
self._execute(Command.CLICK_ELEMENT)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 402, in _execute
return self._parent.execute(command, params)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 175, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up
Stacktrace:
at fxdriver.cache.getElementAt (resource://fxdriver/modules/web-element-cache.js:8953)
at Utils.getElementAt (file:///tmp/tmp7_TdRV/extensions/fxdriver@googlecode.com/components/command-processor.js:8546)
at fxdriver.preconditions.visible (file:///tmp/tmp7_TdRV/extensions/fxdriver@googlecode.com/components/command-processor.js:9585)
at DelayedCommand.prototype.checkPreconditions_ (file:///tmp/tmp7_TdRV/extensions/fxdriver@googlecode.com/components/command-processor.js:12257)
at DelayedCommand.prototype.executeInternal_/h (file:///tmp/tmp7_TdRV/extensions/fxdriver@googlecode.com/components/command-processor.js:12274)
at DelayedCommand.prototype.executeInternal_ (file:///tmp/tmp7_TdRV/extensions/fxdriver@googlecode.com/components/command-processor.js:12279)
at DelayedCommand.prototype.execute/< (file:///tmp/tmp7_TdRV/extensions/fxdriver@googlecode.com/components/command-processor.js:12221)
首先来分析一下这个错误,错误始于footer[0].click() 这里,footer是我程序中获取到的一个element,element点击之后,触发了一下一大堆问题。。。= =
我们顺着错误信息下去,可以发现错误信息都是来自
webdriver/remote:
- self._execute(Command.CLICK_ELEMENT)—webelement.py
这个代码意思就很明显了,执行一个点击元素命令
- return self._parent.execute(command, params)—webelement.py
这个是在self下的_parent执行一个command