0
웹 페이지에 입력 태그가 있습니다.입력 값은 어떻게 작동합니까?
<input type="text" onmouseover="this.select();" readonly="" value="<embed src="https://imgcache.qq.com/tencentvideo_v1/playerv3/TPout.swf?max_age=86400&v=20161117&vid=d0380tpvuqx&auto=0" allowFullScreen="true" quality="high" width="480" height="400" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>">
을하지만 나는 그것의 '페이지 소스를 볼 때 : 나는 그것을 검사 할 때
<input type="text" onmouseover="this.select();" readonly r-attr="{value:shareHtml}">
은 어떻게 작동 하는가? 내가 nokogiri
하여 입력 값을 얻을 수있는 방법 그리고 분석 결과는 다음과 같습니다 이후 :
#<Nokogiri::XML::Element:0x3fcc71309c60 name="input" attributes=[#<Nokogiri::XML::Attr:0x3fcc71309be8 name="type" value="text">, #<Nokogiri::XML::Attr:0x3fcc71309bd4 name="onmouseover" value="this.select();">, #<Nokogiri::XML::Attr:0x3fcc71309bc0 name="readonly" value="readonly">, #<Nokogiri::XML::Attr:0x3fcc71309bac name="r-attr" value="{value:shareHtml}">]>
'r-attr' 속성의 값을 기반으로'value'를 업데이트하는 javascript가있는 것 같습니다. 'Nokogiri '로 결과 값을 얻을 수있는 방법이 없습니다. – mudasobwa
당신은 그것을 얻을 수 없습니다. 브라우저가 알고있는 것처럼 페이지의 DOM을 검사하고 있습니다. Nokogiri는 브라우저가 아니며 파서 (parser)입니다. 브라우저는 브라우저의 일부입니다. Nokogiri가 알고있는 모든 것은 HTML이 처음 검색 될 때 브라우저가 처음 검색 할 때처럼 HTML이 어떻게 보이는지를 나타냅니다. 그런 다음 브라우저는 페이지에 포함 된 모든 스크립트를 실행하고 CSS를 처리 한 다음 수정 된 페이지를 표시합니다. 페이지를 검사 할 때 표시되는 내용은 원래 표시되었던 페이지가 아닌 현재 표시된 페이지를 반영합니다. –