Selenium的坑

一、关于检查元素(右键点击检查、或者F12)复制xpath。

今天遇到的坑是,当下面的窗口按照第二种方式锁定在测试页面右边或下面时,会导致测试页面出现多余的元素。此时,复制出的xpath会有误。所以,建议采用第一种方式,在独立的窗口打开元素获取窗口。如下图:

二、关于悬停

当鼠标光标移入某个元素时,会发现元素有变化。此时需要添加悬停即hover的关键字驱动。另外很重要的是,悬停在内部机制已经写好了固定的等待时间为0.5s,0.5秒后悬停即看不到,也找不到其元素定位。因此此时一定不要再设置等待(sleep)时间,设置后很可能造成找不到所需元素定位。

三、关于绝对路径和相对路径

关键字驱动时经常要使用元素xpath来定位元素。但并不是所有元素的绝对路径是一层不变的。一般情况下采用绝对路径会快捷很多,但只能针对绝对xpath不变的元素,因此经常需要使用相对路径来更准确定位元素。

四、关于JS在Selenium的使用

关键字驱动在Selenium的使用中占了一席之地,但也有特殊情况无法实现web自动的情况,此时就需要发挥洪荒之力采用JS来实现了。

五、 对于其他要注意的坑,慢慢补充吧。。。至于元素的相对路径的写法和JS的写法改天补充,因为目前还不能熟练使用。。。

时间: 2024-10-17 14:41:01

Selenium的坑的相关文章

python + selenium 跳坑之旅 (第一弹)

哪怕你再精通selenium,陪伴测试人员最多的还是定位问题. 第一个坑:     要定位的页面,出现html嵌套,也就是ifrmae.在html代码页面很直观的就能发现这个东西.实际就是在一个页面中引用了一个子页面.这样造成我们再用xpath或者css定位的时候直接找不到元素.这个时候我们需要用到一个新的东西来为她定位,其思路大体为:第一步,从父页面切换至子页面:第二步,在子页面定位元素:第三步,返回父页面(这个看个人需要,具体留在哪里需要结合实际). 第一步的实现需要用到一个方法:switc

python selenium 踩坑

想做做信息检索课设,先写个爬虫爬爬微博. 看了一下午微博的api,晚上决定用chromnium. 先通过pip安装selenium,官方文档看一眼, pip install selenium 然后需要安装浏览器的driver,浏览器的调试模式一样 通过Choco安装,powershell一句话 choco install selenium-all-drivers 完毕.然后开始写代码 1 from selenium import webdriver 2 from time import slee

selenium遇坑

1.报错:Can not connect to the Service chromedriver 项目之前运行一直没有问题,今天运行突然报错,本来以为是chrome不小心更新了导致chromedriver匹配不上,但是最后发现是 localhost配置错了 localhost如下配置即可 原文地址:https://www.cnblogs.com/lwj-0923/p/12515978.html

selenium IDE测试中的坑

selenium IDE工具是firefox自带的一个网页自动化测试工具,因为它是IDE所以它很方便使用,但也因为它是IDE所以它有那么些坑. 问题:timeout 网页的打开速度经常影响到测试,selenium IDE中有默认的30s相应时间,所以timeout30000更是一个常见问题. 方案:网页打开慢是性能测试的问题,错误分家,不能张冠李戴,所以,增加给页面的反应时间是最好的办法. 在测试步骤中增加这样一条: commond:pause target:30000(单位是毫秒) 如果不是性

盘点selenium phantomJS使用的坑

说到python爬虫,刚开始主要用urllib库,虽然接口比较繁琐,但也能实现基本功能.等见识了requests库的威力后,便放弃urllib库,并且也不打算回去了.但对一些动态加载的网站,经常要先分析请求,再用requests模拟,比较麻烦.直到遇到了selenium库,才发现爬动态网页也可以这么简单,果断入坑! selenium是python的一个第三方自动化测试库,虽然是测试库,却也非常适合用来写爬虫,而phantomJS是其子包webdriver下面的一个浏览器.phantomJS本身是

python+selenium环境搭建以及遇到的坑

---恢复内容开始--- window10下环境搭建 1.安装python https://www.python.org/downloads/   在该网址下下载python最新版本,点击安装,安装时选择将python路径添加到path环境变量中 2.安装setuptools和pip setuptools可以更方便的创建和发布python包,特别是在对其他包有依赖的情况下 pip 是安装和管理python包的工具,安装依赖于setuptools,使用pip命令可以更好的安装python第三方库

Robot Test Framework + Selenium 的几个坑

现有的webtest是基于Robot 和 Selenium 来写的,没出问题的时候还挺好的,出了问题想debug介个麻烦啊(也可能是姿势不对), 特罗列如下,如有不对,求指正,指导. 1. RIDE 基本没办法在Mac上跑起来RIDE 是Robot Test Framework最好的IDE, 无论是编辑还是跑case都是一把好刷子,只是到了mac上,安装就很费劲,跑起来经常崩溃... 2. Selenium go to 不能忽略404错误 有一些测试网页上面的元素会报404, selenium

使用selenium时碰到的某一个坑

如图: 不明所以,完全不知道什么情况,于是开始排除 1.浏览器 2.代码 3.元素定位(其实跟这没关系) 然后都不是!!! 原来是selenium版本问题!!! 原来我用的是3.4.3版本的,不行,代码不兼容,因为我是基于2.x版本的代码 于是卸载此版本,安装旧版本 果然可以!!! 反思:解决问题时的思路比较狭隘,只考虑了外部因素,却未考虑本身或者说内在的问题.也算上了一课,不错.

在JENKINS上部署selenium+python环境遇到的坑

1.找不到浏览器 需安装PyVirtualDisplay 安装的时候发现pip不好用,只能用pip.exe 2.执行Firefox的时候log报错 ###!!! [Parent][MessageChannel] Error: (msgtype=0x2E007D,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv JavaScript error: resource://app/modules/ContentCrashHandle