重ね重ねの質問、失礼します。
Google翻訳を使って、英文の翻訳結果を取得したいと考えています。
(FormにWebBrowserを張り付けて、IE11に切り替えた状態です。)
まず、第一段階として、Google翻訳の原文入力部への書き込み方法が判りません。
下記のコードを実行すると、<div class="text-dummy"></div>のに原文を書き込むことができますが、画面に反映されません。よって、翻訳が起動しない。
二つ目に、翻訳が完了したことをどのように検出すればいいのか?判らない。
(翻訳が完了すると、<div class="text-wrap tlid-copy-target">が表れるので、ループで監視する?位しか思いつきません)
どのようにすれば、実現できるのか?詳しい方イラッシャイましたら、ご指南の程宜しくお願い致します。
Public Class FormMain
Const Google翻訳Uri As String = "https://translate.google.co.jp/?hl=ja&tab=TT"
Const 原文Str As String = "Two important properties of the Chart class are the Series and ChartAreas properties, both of which are collection properties. The Series collection property stores Series objects, which are used to store data that is to be displayed, along with attributes of that data. The ChartAreas collection property stores ChartArea objects, which are primarily used to draw one or more charts using one set of axes."
Const 原文入力用Tag_Str As String = "text-dummy"
Const 訳文出力用Tag_Str As String = "text-wrap tlid-copy-target"
Private Sub FormMain_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.WebBrowser1.Navigate(Google翻訳Uri)
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
If e.Url.ToString = Google翻訳Uri Then
Dim MyElements As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("div")
For Each LopElement As HtmlElement In MyElements
If LopElement.GetAttribute("className") = 原文入力用Tag_Str Then
LopElement.InnerText = 原文Str
MsgBox(LopElement.OuterHtml)
End If
Next
End If
End Sub
End Class