Watin AttachTo:等待帧文档可用时超时

时间:2013-06-05 13:06:17

标签: wpf internet-explorer pdf popup watin

我正在尝试将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构建的网站,除了它是A MESS之外,它有时很奇怪...这个弹出窗口有一个只能以某种方式工作一次的URL。如果我尝试在另一个窗口中使用它,则不返回pdf。刷新弹出窗口时会发生同样的情况。

我无法在Temporary Internet Files中获取PDF,因为它不存在(我想这是因为网站在SSL下工作)。

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

技术:VS2012,WPF

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

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

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

其中responseDownload将是HttpResponseMessage