を使用しC# WebBrowser
てページに移動しています。そのページに移動した後、ソース コードからいくつかのリンクを抽出し、親 URL から取得したループ内のこれらの sub_links への移動を開始します。
すべての sub_links には、次のようなリンクがあります。
<a onclick="sysMT('SYSext.Sup_Filetype','type','SYSext.Sup_Filename','Filename.exe','SYSext.Sup_Referer','http://abc.com');"
id="ctl00_UCDownloadFile1_Accept"
href="javascript:__doPostBack('ctl00$UCDownloadFile1$Accept','')">Accept</a>
ボタンの ID は、"ctl00_UCDownloadFile1_Accept"
そのすべてのサブリンクで同じです。上記のリンクを手動でクリックすると、ファイルのダウンロードが開始されます。"click"
C#コードを使用して上記のボタンをオンにしたい。click
このコードを使用して上記のボタンをオンにすることができますwebBrowser1_DocumentCompleted event
:
HtmlElement elementById = webBrowser1.Document.GetElementById("ctl00_UCDownloadFile1_Accept");
if (elementById != null)
{
elementById.InvokeMember("click");
Application.DoEvents();
}
しかし、スクリプトエラーメッセージボックスが表示されます
"An error has occured in the script on this page.
Error: The value of the property 'sysMT' is null or undefined, not a Function object.
Do you want to continue running script on this page?
Yes NO"
これで何が欠けているのか理解できません。親 URL は、ファイルのダウンロードに役立つ Cookie を作成しましたか? そのファイルをダウンロードする方法とファイルリンクをダウンロードする方法がわかりません。
私は C# WebBrowser を初めて使用します。
アップデート
を使用してスクリプトエラーメッセージボックスを削除できます
webBrowser2.ScriptErrorsSuppressed = true;
しかし、サブリンクにあるすべてのファイルをダウンロードすることはできません。
親 URL から 3 つのリンクを取得した場合、最初のリンクに移動し、[リンクを受け入れる] をクリックすると、アクションを求めるボックスが表示され RUN SAVE CANCEL.
ます。この問題を解決するには、ファイルをRUN SAVE CANCEL.
直接 要求するプロンプトを表示せずに、各リンクからすべてのファイルをダウンロードしたいと考えてSAVE
います。