0

を使用し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います。

4

0 に答える 0