2017-12-30 10 views
0

JavaScriptページ(javascript:...を含むタグ)をクリックすると、表が読み込まれるインターネットページがあります。 私のAsp.netウェブサイトにこのテーブルを取得する必要があります。スクリプトを実行せずにテーブルを含むURLはありません。 これは私が現在使用しているものです:JavaScriptリンクを実行した後にウェブページからHTMLを取得する

public string GetFromUrl(string path) 
{ 
    WebClient web = new WebClient(); 
    return web.DownloadString(path); 
} 

public string GetTagHTML(string html) 
{ 
    Regex regex = new Regex("<table>(.*)</table>"); 
    var v = regex.Match(html); 
    return v.Groups[1].ToString(); 
} 

詳細

を私はからデータを取得しようとしていますウェブサイトはhttp://beitbiram.iscool.co.il/default.aspx である(それはヘブライ語だ、私はクリックしようとしていますリンクは1です。テーブルのタイトルの)。

ウェブサイトはasp.netのウェブサイトです。

リンクが呼び出す機能は__doPostBackです。私はそれが何をするか任意のアイデアを持っていない、そしてそれについてのオンライン情報を見つけることができませんが、これはそれのコードです:事前に

var theForm = document.forms['Form']; 
if (!theForm) { 
    theForm = document.Form; 
} 
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
     theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 

感謝。

答えて

0

一般に、Javascriptを実行した後にページのHTMLを取得するには、Javascriptを実行するしかありません。そのためにはブラウザが必要です。

あなたの質問への直接の回答は、Headless Chromeのようなものを使用してブラウザをスピンアップし、ページをロードし、リンクをクリックし、HTMLをエクスポートすることです。ヘッドレスクロムはかなり苦痛を伴うことはないが、これは歴史的には仕事に苦しんでいた。

しかし、あなたが実行するリンクは、テーブルに入れるためにどこかからデータを取得する必要があります。そのソースを探して自分でテーブルを作成することを強くお勧めします。私が絶対にする必要がなかった場合は、埋め込まれたブラウザでウェブサイトを維持する。

+0

ありがとうございます。私はソースをもっと調べようとします。 – hrsidkpi

関連する問題