Selenium2(webdriver)_定位不到元素常见原因及解决办法

在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决:

1、Frame/Iframe原因定位不到元素:

  这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位。

 

2、Xpath描述错误原因:

这种情况有可能是:

1、xpath语法规则书写错误,这个木有办法,补下xpath的语法,多写写,练练就好。

2、xpath层极太长,容易犯晕,比如我就写过://div[@id='mainBody']//div[1]//div[1]//div[1]//div[1]//div[1]//div[1]//div[2]//ul[1]//li[1]//a[1]

虽然最后还是调对了,调试的时候就是一层一层的定位,这种方法比耗时,但好在还算管用。

最终的方法还是要提高下写xpath的水平(LZ目前只会点简单的xpath语法,得恶补下)。

 

3、页面还没有加载出来,就对页面上的元素进行的操作:

这种情况一般说来,可以设置等待,等待页面显示之后再操作,这与人手工操作的原理一样:

1、设置等待时间;缺点是需要设置较长的等待时间,案例多了测试就很慢;

2、设置等待页面的某个元素出现,比如一个文本、一个输入框都可以,一旦指定的元素出现,就可以做操作。

3、在调试的过程中可以把页面的html代码打印出来,以便分析。

时间: 2024-10-29 20:03:13

Selenium2(webdriver)_定位不到元素常见原因及解决办法的相关文章

网站快照不更新的常见原因及解决办法

在前几天发表的文章里我讲到站长有三苦,其中一苦就是百度快照不更新,快照不更新最核心的原因来源于网站内容发布没有稳定的规律以及外链的建设不到位,二老猫觉得这是最重要的2个因素.面对百度三天猫脸五天狗脸算法规则变化无常的情况,许多站长都上火失眠过.如果一昧怪罪百度相信你很难进步,更多的时候需要从自身及自己的网站找原因.对于快照不更新有以下几个原因,并附上我的解决办法供大家参考: 一.新站处于观察期 最常见的快照不更新大多发生在刚建立不久的新网站,百度收录网站首页后会有一个观察期,在观察期内的新站快照

浅析快照不更新常见原因及解决办法

  一个网站的 快照和收录.PR有相同的重要性.我们分析一个站点时经常要分析网站的快照.但是相信很多站长们都和我一样出现过自己的站点快照不更新的问题,常见原因是什么?以及如果遇到这种情况要怎么解决?在这些问题上很多新手站长们可能都丈二和尚摸不着头脑,下面我将根据自己在优化工程中遇到的几个快照不更新的原因以及我的解决方法和大家分享.长话短说,我们进入今天的主题. 1  你的服务器原因 这个是快照不更新的一个非技术原因,但对快照不更新的影响又是非常重要的因素之一.你的服务器出现问题,网站的加载速度减

Selenium2(WebDriver)_如何判断WebElement元素对象是否存在

1. selenium中如果去寻找元素,而元素不存在的话,通常会抛出NoSuchElementException 导致测试失败,但有时候,我们需要去确保页面元素不存在,才是我们正确的验收条件下面的方法可以用来判定页面元素是否存在 1 public boolean doesWebElementExist(WebDriver driver, By selector) 2 { 3 4 try 5 { 6 driver.findElement(selector); 7 return true; 8 }

电脑自动关机常见原因及解决办法

主要做几个检查吧.首先检查电源是否电压不够,最近是不是增加了什么新的硬件,如果是可能是电源电压不够,需要更换电源.其次检查主板电池是否没电了,主板的电池如果没电也可能导致这种情况发生,这时候需要将主板电池拆出来,或者去电脑维修店给人充电.最后确认你自己没有踢到电源线.主机线.实在不行就看看并检查你电脑的排插电压是否足够等.硬件部分都检测完了,如果还不不行,就从软件入手.检查你是否有中毒了,是否有软件不兼容等. 散热的问题,大家都知道cpu.显卡.硬盘.主板温度过高造成电脑总是自动关机,来达到保护

无线局域网常见故障及其解决办法

就在有线网络(下简称为LAN)的发展方兴未艾时,无线局域网(下简称为WLAN)随着技术的逐渐成熟和产品成本的不断降低,不知不觉已经悄悄的走进我们的工作和生活. 大规模WLAN和宽带的普及也使得相关的故障时有发生,下面我们就来看下常见的无线局域网故障有那些. 故障现象:无法登陆无线路由器进行设置 分析及解决方法: 硬件故障大多数是接头松动.网线断.集线器损坏和计算机系统故障等方面的问题.一般都可以通过观察指示灯来帮助定位.此外,电压不正常.温度过高.雷击等也容易造成故障. 办法一:检查路由器上面的

网站快照回档的常见原因和解决方法分析

众所周知,网站快照是判断网站权重的方式之一,也是分析我们网站被百度重视程度的一个关键因素之一,但是笔者发现很多朋友包括笔者的网站经常会出现快照回档的问题,快照回档说明了那些问题?我们又应该从那些方面提高网站权重保证我们网站快照的天天更新呢?下面笔者就自己在网站运营优化过程中关于快照回档的几点原因和解决方法技巧和大家一起分享一下.好了,闲话短续咱们进入今天的主题.我将快照回档的原因大致总结了一下几点,然后一一进行分析. 第一,服务器因素.这个是快照回档的一个非技术性因素,但是对于网站快照的影响又是

LINQ TO SQL常见异常及解决办法

引言 网上介绍Linq TO SQL的资料不少,但是实际工程中的例子很少,本文是我在使用Linq TO SQL开发项目中遇到的异常及解决方法,希望对您有帮助. 本文会继续更新... 系统环境 Visual Studio 2008 NET Framework 3.5+Microsoft SQL Server 2005+Window XP+ SP3 LINQ TO SQL采用配置式开发 常见异常 本文基本上使用断开的DataContext方式下开发中出现的异常. [System.Data.Linq.

Windows7常见故障及其解决办法

Windows7常见故障及其解决办法 据国外媒体报道,微软新操作系统Windows 7发售已经一个多月时间了.许多抢先体验Windows 7的用户在安装.使用过程中常会遇到一些恼人的问题.下面是科技博客Techradar为我们整理的五种Windows 7常见故障及其解决办法: 1.DVD音频问题 微软改进了Windows7的硬件兼容性,但是部分旧机器用户反映,播放DVD时的音量很小甚至压根就没有声音. 解决办法:打开控制面板,进入"硬件和声音"选项,右键默认播放器,在弹出界面中选择属性

无法定位程序输入点 msvcr100.dll的解决办法

无法定位程序输入点 msvcr100.dll的原因:用户在安装运行游戏模拟器时,由于缺少程序语言编译环境(VC2010运行库),造成游戏模拟器或其他软件无法进行程序 编译调试,系统将提示"出现无法定位程序输入点×××于动态链接库msvcr100.dll上"或提示"没有找到msvcr100.dll,因此这个程序 未能启动...": 无法定位程序输入点 msvcr100.dll的解决办法: 下载安装Microsoft Visual C++ 2010(VC2010运行库)