今天,一个澳洲的同事发了个网址给我,https://aelp.smartsparrow.com/v/open/6dfe73e971d745519cb35d7f740cab9d, 他说他的 webdriver 找不到 next button。 让我试试看,我试验了一遍,发现也没法解决,最后用 jquery 跳过。但是百思不得其解。于是向大家求教。
这个 case 的步骤是:
第五步就找不到这个蓝色的 next 了。
我找了 selenium 的文档,认为 element 可见的情景有:
我将这些属性用 getCssValue 输出,都显示是可见的。
另外附上: 低音钢琴—久其 的总结:
这些是以前做自动化测试时碰到的元素不可见或者不可识别的一些原因
低音钢琴—久其 (41744770) 下午 05:34:41
对于 RFT 是这样的,他的 find 方法默认是 false,不查找 td 和 span 里的元素,不过这个参数只是影响查找,不会报元素不可视的异常,刚才是一起给你列出来了,呵呵
低音钢琴—久其 (41744770) 下午 05:37:48
想查的话,可以把每个元素的 rectangle 属性打印出来,可见的属性应该是 x > 2,y > 2 并且 width 和 height 都大于 0,对于 RFT 来说,只要符合这个条件就能操作。但是不知道 webdrive 会不会有区别。
低音钢琴—久其 (41744770) 下午 05:38:12
我刚才列的那些,可以让你的同事参考一下,呵呵,那是我们做自动化测试时,碰到的最多的几种情况。
我都试验了下,还是无解。希望大家一起来讨论下。