###前提・実現したいこと
VB.netでhttpsのサイトからCSVを繰り返しダウンロードするプログラムを作成しています。
そこでIE11のダウンロード通知バーの制御で詰まっているのでもしわかる方がいれば力を貸してください。
https://oshiete.goo.ne.jp/qa/8035721.html
ここを参考にIE11のダウンロード通知バーの「保存」を押下するプログラムを書きました。
しかし以下のプログラムで、保存押下後に再帰して「count = acc.accChildCount」のところで「起動されたオブジェクトはクライアントから切断されました」となってしまいます。
これはどのように解消すればよいのでしょうか。
また保存ボタン押下後にループを抜けるようにすると、ここには書いていませんが抜けた後の処理.navigateて遷移した際にIEが落ちてしまいます。
保存ボタン押下のプロシージャを通さないと落ちることはないので何か関係があるのではないかと思います。
Private Sub ClickPreserve(ByVal acc As Accessibility.IAccessible)
Dim i As Long
Dim count As Long
Dim lst() As Object
count = acc.accChildCount
If count > 0 Then
ReDim lst(count - 1)
AccessibleChildren(acc, 0, count, lst, 0)
If Not IsNothing(lst) Then
For i = LBound(lst) To UBound(lst)
With lst(i)
'保存ボタンを見つけたらクリック(デフォルトアクション)する
If .accName(CHILDID_SELF) = "保存" Then
System.Threading.Thread.Sleep(500) .accDoDefaultAction(CHILDID_SELF) System.Threading.Thread.Sleep(500) End If
End With
ClickPreserve(lst(i)) '再帰
Next
End If
End If
End Sub
回答1件
あなたの回答
tips
プレビュー