使用robot framework + selenium2 出现异常解决方法

1、出现Stale Element Reference Exception

官方解释说这种异常有两种可能:找元素后对元素进行操作时,元素已经被删除或者元素不再附加到DOM。

一般都是由于JavaScript操作元素导致元素陈旧。

我的项目中需要判断某个元素是否可见,是否hidden,如果不是hidden需要等待,但是由于页面刷新,会导致经常出现此异常。

尝试了很多解决方法:

1) 使用execute JavaScript : return $("#XXX").is(":hidden");  + Wait Until Keyword Succeeds

    这种方法有时会报JavaScript Error

2) 使用 Wait Until Element Is Not Visible    id=XXX

    这种方法会报Stale Element Reference Exception

3) 最后使用 Wait For Condition          return $("#J_LoadPage").is(":hidden");

    似乎可以成功



2、Jenkins + Selenium + IE 出现 WebDriverException: Message: Failed to navigate tohttp://xxxx/x. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed.

这是由于用作Jenkins slave的那台机器,将启动slave的服务作为了windows服务自启动了,同时又从jenkins上执行了本机的ie自动化,可能有冲突,ie总是无法成功执行。

解决方法:

1)去掉windows服务,改用java命令行或者客服端,但是这样的话就无法开机自启动

2)使用selenium-grid,ie连接一个hub,启动浏览器时使用remote-url就行,这样就不会有冲突了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容