2017-12-30 19 views
0

자바 스크립트 링크 (자바 스크립트 : ...가있는 태그)를 클릭하면 테이블이로드되는 인터넷 페이지가 있습니다. 이 테이블을 Asp.net 웹 사이트에 가져와야합니다. 스크립트를 실행하지 않고 테이블을 포함하는 URL이 없습니다.자바 스크립트 링크를 실행 한 후 웹 페이지에서 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 (는 히브리어에있어 내가 클릭하려고 링크가 하나입니다에서 내가 데이터를 얻기 위해 노력하고 있어요 :. 이것은 내가 현재 사용하고 무엇인가 표 제목의).

웹 사이트는 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을 내보내는 것입니다. Headless Chrome은 다소 고통스럽지 않지만 역사적으로 큰 고통을 안고 있습니다.

그러나 실행하는 링크는 테이블에 넣기 위해 어딘가에서 데이터를 가져와야하므로 확실하게 원본이되고 직접 테이블을 만들 것을 권합니다. 내가 절대적으로 그렇게하지 않으면 임베디드 브라우저와 웹 사이트를 유지.

+0

감사합니다. 나는 근원을 더 조사하려고 노력할 것이다. – hrsidkpi