0

我正在使用 Selenium 2 和 IE7。

我正在测试的应用程序中有很多 iframe。所以我正在使用driver.switchTo().frame()方法在 iframe 之间切换。我也在driver.switchTo().defaultContent()切换到 iframe 之前使用。

但是在某些情况下,driver.switchTo().frame()会导致应用程序崩溃。以下是eclipse中的错误:

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: javaw.exe
  Application Version:  6.0.70.6
  Application Timestamp:    484e4780
  Fault Module Name:    IEDriver.dll
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp:   4fdf5b90
  Exception Code:   c0000005
  Exception Offset: 0008a71e
  OS Version:   6.0.6001.2.1.0.274.10
  Locale ID:    1033
  Additional Information 1: 1699
  Additional Information 2: 3c7b32a427f0a23d017c01e406809b93
  Additional Information 3: 437a
  Additional Information 4: 0abbaf052c4358d69b1ef6b054f6ab09

我什至尝试通过 , 获取 iframe 的来源driver.findElement(By.id(iframeID)).getAttribute("src"),并且我能够获得 iframe 的来源。我还尝试在 iframe 切换之间引入等待,但它仍然给出相同的错误。我不知道为什么在某些情况下它会导致应用程序崩溃。

有没有人有类似的经历或可以想到任何解决方案?

4

1 回答 1

1

我正在使用此代码通过 src 选择 iframe,它可以工作:

driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[src=\"SRC_OF_FRAME\"]"))); 
于 2012-08-29T09:22:32.623 回答