1

我正在尝试使 WatiN 附加到 IE 弹出窗口(IE 10)。此弹出窗口包含一个框架集 --> 一个框架 --> 一个 pdf 文档。我的目标是将此 pdf 保存到我的磁盘上。

Dim winExists = IE.Exists(Of IE)(Find.ByUrl(Function(url) url.Contains("__ADFvDlg")))
If winExists Then 'this evaluates to true
  Dim win = IE.AttachTo(Of IE)(Find.ByUrl(Function(url) url.Contains("__ADFvDlg"))) ' Timeout while waiting for frame document becoming available
End If

1)我尝试使用上述代码内联或在 STA 线程中

2)内联编码时,其父线程也是STA

3)我尝试将默认超时时间增加到 8 分钟,经过 8 分钟后结果相同

除了解析这个特定的弹出窗口外,我没有其他选择,因为它是一个使用 Oracle ADF 构建的站点,而且除了它是一团糟之外,它有时很奇怪......这个弹出窗口有一个 URL不知何故只工作一次。如果我尝试在另一个窗口中使用它,则不会返回 pdf。当我刷新弹出窗口时也会发生同样的情况。

我无法在 Internet 临时文件中获取 PDF,因为它不存在(我想这是因为该网站在 SSL 下工作)。

任何超出 WatiN 范围的指南或解决方案都非常受欢迎,因为我已经碰壁了。

技术:VS2012、WPF

提前非常感谢。

4

1 回答 1

0

当我通过使弹出窗口显示为新选项卡来尝试相同的事情时,我发现它最简单。这样我就可以附加到它的 URL。从那里我会使用

File.WriteAllText(fileName, responseDownLoad.Content.ReadAsStringAsync().Result);

其中 responseDownload 将是一个 HttpResponseMessage

于 2013-06-12T16:09:03.457 回答