当在selenium网络驱动程序中导航回来时,Firefox浏览器无法恢复页面



我在Firefox中使用selenium网络驱动程序。

driver.navigation().back();

我浏览页面,当我浏览回页面时,会出现以下异常。在浏览器中,它显示文档已过期。

org.openqa.selenium.StaleElementReferenceException:在缓存中找不到元素-也许页面在查找后发生了更改命令持续时间或超时:23毫秒有关此错误的文档,请访问:http://seleniumhq.org/exceptions/stale_element_reference.html内部版本信息:版本:"2.21.0",修订:"16552",时间:"2012-04-11 19:09:00"系统信息:os.name:"Windows 7",os.arch:"x86",os.version:"6.1",java.version:"1.6.0_20"驱动程序信息:Driver.version:RemoteWebDriver在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessor Impl.java:39)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessor Impl.java:27)位于java.lang.reflect.Constructure.newInstance(Constructor.java:513)网址:org.openqa.selene.remote.ErrorHandler.createThrowable(ErrorHandler.java:175)网址:org.openqa.selene.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128)网址:org.openqa.selene.remote.RemoteWebDriver.exexecute(RemoteWebDriver.java:459)网址:org.openqa.selene.remote.RemoteWebElement.exexecute(RemoteWebElement.java:245)网址:org.openqa.selene.remote.RemoteWebElement.getText(RemoteWebElement.java:141)跑步时。DriverImpl.startScrapingFromThePage(DriverImpl.java:48)在ui。SAFESPUserInterface.startButtonClicked(SAFESPuserInterface.java:311)在ui。SAFESPuserInterface$1.actionPerformed(SAFESPuserInterface.java:62)在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)在javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)在javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)位于javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)位于javax.swing.plaf.basic.BasicButtonListener.mouseRelease(BasicButton Listener.java:236)位于java.awt.Component.processMouseEvent(Component.java:6263)位于javax.swing.JComponent.processMouseEvent(JComponent.java:3267)位于java.awt.Component.processEvent(Component.java:6028)位于java.awt.Container.processEvent(Container.java:2041)位于java.awt.Component.dispatchEventImpl(Component.java:4630)位于java.awt.Container.dispatchEventImpl(Container.java:2099)位于java.awt.Component.dispatchEvent(Component.java:4460)位于java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)位于java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)位于java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)位于java.awt.Container.dispatchEventImpl(Container.java:2085)位于java.awt.Window.dispatchEventImpl(Window.java:2478)位于java.awt.Component.dispatchEvent(Component.java:4460)位于java.awt.EventQueue.dispatchEvent(EventQueue.java:599)位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)位于java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)位于java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)在java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

该页面包含Ajax和javascript调用。有人能帮我吗?

首先,粘贴的异常与返回导航无关。您有一个导致异常的陈旧元素的句柄。当您对页面中的HTML元素有WebElement引用时,就会发生StaleElementException,该元素可能由于页面上的交互而被删除/丢失。因此,作为不存在DOM元素的代理的WebElement是无效的。

当导航回最初通过POST请求加载的页面时,webdriver中也存在这个已知问题。因此,您期望的页面可能没有实际加载。firefox中回发警告的目的是重新发出navigation().back(),即两次退出。

相关内容

最新更新