2014-09-23 2 views
1

나는 이것을 알기를 갈망하고 있습니다.이 API를 구현하는 방법이 있습니까? 브라우저에서 생성 한 소스 코드를 얻고 싶습니다. 아래 코드에서브라우저에서 HTML 및 CSS를 생성하는 방법이 있습니까?

초기 colorElement의 CSS ClassredFontClass하지만 blueFontClass .Which에 변경된 사항이 Firebug.I 자바에서 호출하는 URL을 사용하여 응답의이 종류를 얻으려면 사용하여 매우 분명하다 자바 스크립트 온로드입니다. 이게 가능합니까? 저는 Javascript를 원하지 않지만 마침내 브라우저가 HTML로 CSS를 생성하여 HTML 생성기를 원합니다. 이는 PDF 생성기의 Flying-Saucer 종류에 매우 유용합니다. 이들은 Javascript를 지원하지 않습니다.

실제 HTML :

<html> 
<head> 
<style> 
.redFontClass 
{ 
    color : red; 
} 
.blueFontClass 
{ 
    color : blue; 
} 
</style> 
<script language="javascript"> 
function changeColor() 
{ 
    document.getElementById('colorElement').className='blueFontClass'; 
    alert("asdfsd"); 
} 
</script> 
</head> 
<body onload="javascript:changeColor();"> 
<b>This Should come as <span class = "redFontClass" id="colorElement">Red</span> </b> 
</body> 
</html> 

파이어 폭스 방화범 이미지 :

enter image description here

업데이트 : 나는 B가 필요합니다 특정 파일의 URL을 호출하면 rowser가 HTML을 생성합니다. 브라우저 사이드와 같은 클레임 측 응용 프로그램을 사용하지 않는 서버 측 Java 코드에서 이것을 호출 할 것이기 때문에.

브라우저 생성 된 HTML은 :

<html><head> 
<style> 
.redFontClass 
{ 
    color : red; 
} 
.blueFontClass 
{ 
    color : blue; 
} 
</style> 
<script language="javascript"> 
function changeColor() 
{ 
    document.getElementById('colorElement').className='blueFontClass'; 
    alert("asdfsd"); 
} 
</script> 
</head> 
<body onload="javascript:changeColor();"> 
<b>This Should come as <span id="colorElement" class="blueFontClass">Red</span> </b> 

</body></html> 
+0

크롬은 기본적으로 AFAIK를 표시합니다. –

+0

어떻게 내부적으로 작동하는지 모르지만 Selenium의 드라이버 중 일부는 전체 DOM을 HTML로 덤프 할 수 있습니다. – chrylis

+0

너희들은 좋은 생각을하고 있지만, 나는 자바에서 그와 같은 것을 사용하거나 API를 사용하여 생성되도록하고 싶다. – sunleo

답변

0

당신은 다시 서버 측 스크립트 페이지의 소스를 게시 할 수 있습니다. 그런 다음 JS를하지 않은 경우

function postGeneratedSource() { 
    var data = $('body')[0].outerHTML; 
    $.post('/path/to/script', data); 
} 

당신이 관련 컨테이너 body을 변경하거나 서버 측 스크립트 태그를 제거 할 수 중 하나 : 당신이 함수 등을 가질 수 jQuery를에

.

0

이 코드를 사용하여 브라우저에 의해 생성 된 전체 HTML 코드를 얻을 수 있습니다

var source = '<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'; 
+0

답장을 보내 주셔서 감사합니다. 마지막으로 이것은 javacode에서 시뮬레이트 할 수없는 javascript입니다! – sunleo

0

당신 세대 사용 다음 코드를 HTML을 얻을 수 있습니다.

 String url = "http://www.google.com/search?q=developer"; 
     URL obj = new URL(url); 
     HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 

     //add reuqest header 
     con.setRequestMethod("GET"); 
     con.setRequestProperty("User-Agent", "Mozilla"); 


     BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 
     String inputLine; 
     StringBuffer response = new StringBuffer(); 
     while ((inputLine = in.readLine()) != null) { 
      response.append(inputLine); 
     } 
     in.close(); 
     //print result 
     System.out.println("hi"+response.toString()); 
+0

브라우저 도움말없이 예상 된 결과를 언급 한 결과 결과를 얻을 수 있습니다. – sunleo

관련 문제