【尚未解决】关于webdriver中浏览器从页面回退后通过id/xpath取得元素出错的问题
来源:互联网 发布:java小型购物网站设计 编辑:程序博客网 时间:2024/04/28 13:16
背景:在学习用EventFiringWebDriver做事件侦听时,从豆瓣首页跳转到百度首页,然后navigate().back()回到豆瓣的时候,点击豆瓣搜索按钮时,用By.xpath(),就报错:
org.openqa.selenium.StaleElementReferenceException: Element not found in the cache - perhaps the page has changed since it was looked up
...
但是换成By.name()的时候就没问题。
org.openqa.selenium.StaleElementReferenceException: Element not found in the cache - perhaps the page has changed since it was looked up
...
但是换成By.name()的时候就没问题。
代码为:
(1)MyEventListener.java
package com.aikachin.selenium;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.support.events.AbstractWebDriverEventListener;/** * @Author: AIkachin * @Description: * @Date: Created in 17:21 2017/10/18 0018. * @Modified by : */public class MyEventListener extends AbstractWebDriverEventListener { @Override public void afterNavigateTo(String url, WebDriver driver) { System.out.println("After navigate to : " + url); } @Override public void afterNavigateBack(WebDriver driver) { System.out.println("After navigate back to : " + driver.getCurrentUrl()); } @Override public void afterClickOn(WebElement element, WebDriver driver) { System.out.println("After click on : " + element.getText()); }}(2)testWebDriverEvent.java部分代码
使用By.name()就没问题
@Test public void testWebDriverEvent() throws Exception { driver = new FirefoxDriver(); EventFiringWebDriver eventFiringWebDriver = new EventFiringWebDriver(driver); MyEventListener myEventListener = new MyEventListener(); eventFiringWebDriver.register(myEventListener); eventFiringWebDriver.get(URLofDouban); Thread.sleep(1000); eventFiringWebDriver.get(URLofBaidu); eventFiringWebDriver.navigate().back(); Thread.sleep(1000); eventFiringWebDriver.findElement(By.xpath(".//*[@id='anony-nav']/div[2]/form/span[2]/input")).click(); // eventFiringWebDriver.findElement(By.name("q")).click(); }
阅读全文
0 0
- 【尚未解决】关于webdriver中浏览器从页面回退后通过id/xpath取得元素出错的问题
- selenium webdriver xpath 定位页面元素
- javascript中通过元素id和name直接取得元素
- Webdriver自动化测试使用Xpath-Helper调试页面元素的xpath
- 在Selenium WebDriver中使用By.Xpath快速定位页面元素
- 在Selenium WebDriver中使用By.Xpath快速定位页面元素
- Webdriver从csv中获取xpath
- 各种浏览器下的页面元素xpath获取方法
- 各种浏览器下的页面元素xpath获取方法
- 关于Selenuim Webdriver查找可能不存在的页面元素的问题
- iframe中取得父页面的元素,父页面取得子页面的元素
- 通过chrome利用xpath定位页面元素
- 关于JSTL下使用xpath出错的问题
- 【软件测试】获取html页面中某个元素的XPath
- Maven尚未解决的问题
- 关于C++ 连接SQL 的 例子 (运行出错 尚未解决)
- webdriver页面元素等待问题处理方法
- webdriver页面元素等待问题处理方法
- Kafka和Spring集成实践
- kali安装网易云音乐
- kali linux 下载百度云大文件
- linux 卸载vmware
- IIS6.0+Tomcat共用80端口
- 【尚未解决】关于webdriver中浏览器从页面回退后通过id/xpath取得元素出错的问题
- linux 压缩及解压缩 命令
- debian 安装zah
- 关于c语言操作符
- #Thinking in Java阅读笔记# 第三章 操作符
- BlockChain
- SpringCloud-config个人笔记
- conky 的安装与美化 debian
- openssl向SSL服务器发送请求