【发布时间】:2017-05-16 17:33:15
【问题描述】:
我在使用 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 代码都是相同的,所以真的不明白为什么它有时会起作用..
很高兴得到任何帮助。
【问题讨论】:
-
${IFRAME BODY}代表什么?顾名思义,它听起来像是 iframe 元素或 iframe 内的主体,在这种情况下,我不明白您为什么要尝试将文本输入到 iframe 中(而不是输入元素)。 -
html中的结构是:,元素代表“输入框” ",里面没有其他元素..这就是我尝试输入 元素的原因...正如我所提到的,它在 2 种情况下有效,但在 1 种情况下无效...
-
当您将文本输入到并非旨在获取文本的内容时,您认为会发生什么?
-
好吧,显然它将文本输入到正文元素中 - 真的适用于我的 3 个案例中的 2 个(带有 iframe 的页面)......只是其中一个没有,我真的没有知道为什么,因为后面的代码是一样的..
-
我刚刚在测试脚本上收到了相同的错误消息。在这一行抛出异常:
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.XPATH,myxpath)))与@neliCZka 报告的类似,它有时会挂在这一行上,重复多次,但大多数其他时候,它工作正常。我希望我知道这个错误与“找不到元素”错误或“超时”错误有何不同。
标签: selenium selenium-webdriver automated-tests robotframework selenium2library