robotframework 页面已经locate到元素 但是操作提示element is no longer valid!

目前还未解决,先记录一下。

Text Edit

*** Settings ***
Library           Selenium2Library

baidu_xpath
    open browser    http://10.11.20.117:9500/poc/    ie
    sleep    3
    maximize browser window
    Wait Until Page Contains Element    id=Login
    click element    id=Login
    sleep    20

但是使用FF浏览器是pass的

换过 Xpath 跟 CSS的定位方式依然跪

-------------------Xpath--------------------

--------------------CSS------------------------

google的一个类似案例

http://stackoverflow.com/questions/22788089/element-is-no-longer-valid-freeze-in-ie8

给的解决方法是

I would suggest you check this link http://docs.seleniumhq.org/exceptions/stale_element_reference.jsp.

In your case, you clicked a button, found the element and then page changed due to the previous click action. Thus you got "Element is not valid".

This might help: wait for page load in selenium


share|improve this answer

answered Apr 1 at 17:44

dhimil
262

但是在用例中已经有了这个步骤···

Wait Until Page Contains Element

时间: 2024-08-03 15:54:22

robotframework 页面已经locate到元素 但是操作提示element is no longer valid!的相关文章

前端页面卡顿?或是DOM操作惹的祸,需优化代码

文档对象模型(DOM)是一个独立 于特定语言的应用程序接口.在浏览器中,DOM接口是以JavaScript语言实现的,通过JavaScript来操作浏览器页面中的元素,这使得 DOM成为了JavaScript中重要的组成部分.在富客户端网页应用中,界面上UI的更改都是通过DOM操作实现的,并不是通过传统的刷新页面实现 的.尽管DOM提供了丰富接口供外部调用,但DOM操作的代价很高,页面前端代码的性能瓶颈也大多集中在DOM操作上,所以前端性能优化的一个主要的关注 点就是DOM操作的优化.DOM操作

11月8日上午Jquery的基础语法、选取元素、操作元素、加事件、挂事件及移除事件

jquery基础知识 1.jquery文件的引入,所有的js代码要写在下面那段代码下面. <script src="../jquery-1.11.2.min.js"></script><!--引入的jquery一定是在最上面的,也要在其它引入的jquery文件上面--> 2.写jquery代码的位置 和js一样,jquery代码也是写在<script>开始和结束标签之间. <script type="text/javasc

TestNG(五)常用元素的操作

原则先定位元素,然后对元素进行操作. 一.点击操作 //用name方法查找元素WebElement keyfind = driver.findElement(By.name("tj_trnews"));//对查找到的元素点击操作keyfind.click(); 二.对页面输入框输入 //查找输入框元素 WebElement ID = driver.findElement(By.id("kw")); //输入框输入"selenium" ID.sen

【Robotframework】定位不到元素的几种原因

1.页面还没有加载出来,就对页面上的元素进行操作 这种情况下可以设置等待时间,等页面显示后再进行操作 2.动态id定位不到元素 若发现是动态id,直接用xpath的定位或其他方式 如:1. Execute Javascript  document.getElementByClassName(").click() 2.按照copy selector:$("copy selector").trigger("click") 3.Click Element  xp

Appium自动化WebView中元素的操作

在App开发过程中,很容易用到第三方的WebView控件,这个属于移动端混合型App.在我们做自动化测试的过程中,就要对这种情况进行处理,最通用的办法就是先将appium切换到webview模式然后按查找web元素的方法对WebView里面的元素进行操作即可.具体实施方法,可以参考:http://www.tuicool.com/articles/bIBRZze 可是也有很多情况,如新浪微博第三方授权登录页面(如图一),这个嵌入到App中的第三方WebView,在查上下文信息的时候,找不到对应的W

移动端测试——APP元素定位操作 (3)

一.appium基础API讲解 1.1 APP元素定位操作 建议: 使用显示等待 能用id.class定位就不用xpath定位 只要看的见的,用xpath的text就是万能的 手工测试主要通过可见按钮操作,而自动化是通过元素进行交互操作 元素的基本定位基于当前屏幕范围内展示的可见元素 前置代码 # 导入driver对象 from appium import webdriver import time # server 启动参数 desired_caps = {} # 设备信息(系统.版本.设备号

使用jQuery的data方法来为页面中的某个元素存储数据,(获取焦点,清除默认值)

使用data方法可以避免在DOM中存储数据,有些前端开发er喜欢使用HTML的属性来存储数据: 使用”alt”属性来作为参数名存储数据其实对于HTML来说是不符合语义的. 我们可以使用jQuery的data方法来为页面中的某个元素存储数据: html部分: 1 <form id="testform"> 2 <input type="text" class="clear" value="Always cleared&qu

滑动ListView自动隐藏页面头部和底部元素的例子

完整工程代码在这:https://github.com/NashLegend/Auto-Hide-ListView 现在很多软件都有这种滑动列表的时候自动隐藏页面头部和底部元素的功能,比如Google+.在刚刚进入Activity的时候,页面是一个列表,底部有一个view,头部一个view,当列表向上滑动的时候,隐藏头尾元素,以显示更多内容,当列表向下滑动的时候,再将头尾元素拉出来.比如Google+. 刚刚进入时是这个样子: 再把列表身上一拉,头尾隐藏,成了这个样子: 再往下拉,就会再变回第一

获取页面中任意一个元素距离body的偏移量

//offSet:等同于jQuery中的offSet方法,获取页面中任意一个元素距离body的偏移量 function offSet(curEle) {     var totalLeft = null;     var totalTop = null;     var par = curEle.offsetParent;     //首先把自己本身的相加     totalLeft += curEle.offsetLeft;     totalTop += curEle.offsetTop;