我用的是Chromedriver 78.0.3904.70
WebDriverException: target frame detached exception
已经发生,但在以前的版本的chromedriver都工作正常.现在在我的iFrame中,我在自动测试中找不到任何元素,那里应该是另一个iFrame,但我可以手工完成。在自动测试过程中也成功切换到iFrame。我想可能是有一个新的chromedriver错误?有什么想法吗?
org.openqa.selenium.WebDriverException: target frame detached
(Session info: chrome=78.0.3904.97)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'PDF323-440G4', ip: '172.16.14.147', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 78.0.3904.97, chrome: {chromedriverVersion: 78.0.3904.70 (edb9c9f3de024..., userDataDir: C:\Users\Nikolay\AppData\Lo...}, goog:chromeOptions: {debuggerAddress: localhost:64307}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: c6f28448e742438746371ee017a51dda
8条答案
按热度按时间bfnvny8b1#
此错误消息...
...表示某个HttpRequest的结果HttpServerResponseInfo为**
net::HTTP_NOT_FOUND
**。详情
根据讨论Some error codes are not standard compliant,ChromeDriver返回了一些不符合W3C标准的错误代码。将其替换为相应的标准错误代码:
asynchronous script timeout
->script timeout
element not visible
->element not interactable
no such session
->invalid session id
session not created exception
->session not created
xpath lookup error
->invalid selector
此外,还有一些特定于Chrome的错误代码仍然存在,大多数客户端将其视为**
unknown error
**。这些错误代码是:*
chrome not reachable
*
disconnected
*
forbidden
*
no such execution context
*
tab crashed
*
target frame detached
此问题已通过bug/commit解决,当前状态为待发布。
深度挖掘
错误
target frame detached
是case kTargetDetached
的结果,其中case kTargetDetached
是在http_handler.cc
中定义的,当HttpServerResponseInfo包含HTTP_NOT_FOUND时发生,如下所示:在您的情况下,最有可能的原因是
kTargetDetached
:ve7v8dk22#
我在第79版也遇到了同样的问题。在我的mac机器上更新到Chrome版本80.0.3987.53(官方版本)beta(64位),并在使用selenium时使用chromedriver版本80.0.3987.16。切换到iframe现在工作正常。
从上面的一点得到了一个提示,它已经在版本80中得到了修复。希望能帮上忙!
5us2dqdw3#
可能不是正确或最佳的解决方案,但在添加Thread.sleep和嵌套try catch块之后,问题得到了解决。注意:在WebDriverException中,我再次尝试了相同的元素
qybjjes14#
作为一种变通方法,我们可以对发生此错误的元素使用try和catch块,测试将继续进行而不会停止
8mmmxcuj5#
为我工作:
return(); document. writeln()
ev7lccsx6#
当我的Selenium驱动程序版本与我的Chrome浏览器版本不匹配时,我也遇到了同样的问题,因为我将Web浏览器更新到了最新版本,但没有更新Selenium驱动程序。
我修复了这个问题,也更新了我的 selenium 网络驱动程序,以匹配更新的Chrome。
9rygscc17#
我发现当我有太多的ChromeDriver示例运行时会出现此错误。
我有一个应用程序,当我完成当前测试时,它试图关闭ChromeDriver的示例,但当我看到这个错误时,我通常会发现我有10-20个示例正在运行,因为我正在调试一些问题,而不是让清理代码运行。
打开任务管理器并杀死旧示例!
qq24tv8q8#
系统资源不足时也可能发生此问题。我在一台内存、磁盘和CPU经常达到100%的机器上也遇到了同样的问题。已在具有更高容量的其他计算机中尝试。它工作没有任何问题。