使用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的页面,但它只在一次确切的情况下失败 - 但所有iframe的html代码都是相同的,所以真的不明白为什么它有时会工作..
很高兴得到任何帮助。
答案 0 :(得分:7)
这个问题似乎重新出现在chromedriver中,最新的一个是:https://bugs.chromium.org/p/chromedriver/issues/detail?id=2198
根据此票可以通过两种方式修复:
答案 1 :(得分: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中的{p> ${IFRAME BODY}
仍然是//body
,令人惊讶的是它现在一直输入文字......
不幸的是,没有睡眠它不起作用:(但是睡觉它有效..