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

1、出现Stale Element Reference Exception

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

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

使用robot framework + selenium2 出现异常解决方法_第1张图片

我的项目中需要判断某个元素是否可见,是否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就行,这样就不会有冲突了

你可能感兴趣的:(使用robot framework + selenium2 出现异常解决方法)