6

Robot フレームワークと Selenium2Library を使用して iframe を操作するときに問題が発生します。エラーがスローされます:

WebDriverException: Message: unknown error: unhandled inspector error: {"code":-
32000,"message":"Cannot find context with specified id"}
(Session info: chrome=55.0.2883.87)
  (Driver info: chromedriver=2.25.426923 (0390b88869384d6eb0d5d09729679f934aab9eed),platform=Windows NT 6.1.7601 SP1 x86_64)

私のテストコードは次のとおりです。

Fill In Description ${description}
    Wait Until Element Is Visible    ${FRAME}    40
    Select Frame    ${FRAME}
    wait until page contains element  ${IFRAME BODY}
    Click Element    ${IFRAME BODY}
    wait until page contains element  ${IFRAME BODY}
    Clear Element Text    ${IFRAME BODY}
    wait until page contains element  ${IFRAME BODY}
    Input Text    ${IFRAME BODY}     ${description}
    Unselect Frame

ステップで失敗するInput Text ${IFRAME BODY} ${description}

ところで、このiframeが発生するより多くのページでこのキーワードを再利用しますが、正確に1回だけ失敗します-しかし、htmlコードはすべてのiframeで同じなので、なぜそれが時々機能するのか本当にわかりません..

どんな助けでも喜んでします。

4

2 に答える 2

11

この問題は chromedriver で再発しているようです。最新のものはhttps://bugs.chromium.org/p/chromedriver/issues/detail?id=2198です。

このチケットによると、次の 2 つの方法で修正できます。

  • この問題のないバージョンの chromedriver に切り替えてください
  • フレームに切り替えた後に待機を追加
于 2018-01-08T11:21:05.947 に答える
1

したがって、他のフレームで機能するように、次のようなコードを変更する必要がありました。

Log comment ${comment}
   wait until element is visible    ${RICH TEXT AREA}    40
   sleep   1
   click element    ${RICH TEXT AREA}
   Wait Until Element Is Visible    ${FRAME}    40
   Select Frame    ${FRAME}
   wait until element is visible    ${IFRAME BODY}   20
   input text   ${IFRAME BODY}   ${comment}
   Unselect Frame

${IFRAME BODY}まだ//bodyIframeにあり、驚くべきことに、テキストを常に入力しています...残念ながら、スリープなしでは機能しません:(しかし、スリープすると機能します..

于 2017-01-12T11:52:13.563 に答える