定位不到元素

selenium定位不到元素时,网上大部分查到都是iFrame的切换问题,然后是多窗口、句柄的处理问题,

在初学是遇到定位不到元素,一直在找上面的问题,发现都不是上面的问题,

后来才发现是页面刷新的问题,页面刷新后,元素就失效了,需要重新定位元素,哪怕看到元素刷新前后并没有变化,可是它确实失效了

解决办法:

检测获取不到元素抛出的异常StaleElementReferenceException,如果获取到该异常,则重新再定位一次元素即可

重新定位后,解决了一直定位不到元素的问题

原文地址:https://www.cnblogs.com/may18/p/9483000.html

时间: 2024-10-09 10:26:08

定位不到元素的相关文章

Python+Selenium定位不到元素常见原因及解决办法

在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案:如果iframe有

selenium webdriver定位不到元素的五种原因及解决办法

转自http://www.51testing.com/html/87/300987-831171.html 1.动态id定位不到元素for example:        //WebElement xiexin_element = driver.findElement(By.id("_mail_component_82_82"));        WebElement xiexin_element = driver.findElement(By.xpath("//span[c

Selenium WebDriver定位不到元素的原因及解决办法

1.动态id定位不到元素for example:        //WebElement  xiexin_element = driver.findElement(By.id("_mail_component_82_82"));         WebElement xiexin_element = driver.findElement(By.xpath("//span[contains(.,'写  信')]"));        xiexin_element.cl

selenium-webdriver定位多个元素

/*<div id="divId"> <input id="userid" type="text" value="liuhaixia" title="用户名"  name="userid" class="uid"> <input id="password" type="password" value

为什么selenium定位不到元素

在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 2.Xpath描述错误原因: 这种情况有可能是: 1.xpath语法规则书写错误,这个木有办法,补下xpath的语法,多写写,练练就

如何借助浏览器Console使用Js进行定位和操作元素

在进行Selenium自动化过程中,我们很难避免一些webdriver 很难定位到的一些元素(如:默认隐藏属性元素),那对于一些比较难定位到的元素,有什么好的解决办法?     其实我们都知道,Selenium Webdriver他是支持,在脚本内调用Js脚本的,那JS才是网页元素定位的鼻祖,为什么不试试用JS呢?下面简单通过一个实例,介绍一下,使用JS在火狐控制台中定位元素的小技巧. 如下图:如何定位京东首页中的[手机.数码.京东通信]-[京东通信]-[自助服务]链接. 这个也是之前群里面朋友

关于响应式框架的定位不了元素的坑

首先记录下,虽然很基础的东西,但是对于无基础的我们来说也是一个成长的脚步! 关于响应式框架的定位不了元素的坑,一定要注意,用Chrome浏览器运行脚本时若是它提醒你定位不到元素时,千万不要像我一样去删除你现有的浏览器和驱动,因为这个跟它们一毛钱的关系的都没有,完全是窗口大小再作怪,所以一定要注意,不同的窗口大小元素标签也会不一样!不要想着只要有id,name,class就行了-一定要注意标签!标签!标签!标签!标签!重要的事情说五遍

转载:selenium webdriver定位不到元素的五种原因及解决办法

1.动态id定位不到元素for example:        //WebElement xiexin_element = driver.findElement(By.id("_mail_component_82_82"));        WebElement xiexin_element = driver.findElement(By.xpath("//span[contains(.,'写 信')]"));        xiexin_element.click

Selenium webdriver定位iframe里面元素

在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login"> <iframe class="frame_login" src="https://exaccount.eastmoney.com/home/login?request=%7b%22agentPageUrl%22%3a%22https%3a%2f%2fpassport.eastmon

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

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