使用机器人框架和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 的页面,但它仅在一次确切的情况下失败 - 但所有 iframe 的 html 代码都相同,所以真的不明白为什么它有时有效。
将很高兴得到任何帮助。
似乎在chromedriver中重新出现,最新的问题是:https://bugs.chromium.org/p/chromedriver/issues/detail?id=2198
根据这张票可以通过两种方式修复:
- 切换到没有此问题的 Chrome 驱动程序版本
- 切换到帧后添加等待
所以我不得不像这样更改代码才能在其他框架中工作:
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}
仍然//body
在 Iframe 中,令人惊讶的是它现在一直在输入文本......不幸的是,没有睡眠就无法正常工作:(但是在睡眠中它有效..