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はブラウザではなく、パーサであり、ブラウザの機能の一部に過ぎません。 Nokogiriが知っているのは、最初にHTMLを取得したときと同じように、HTMLが最初に検索されたときのようなものです。しかし、ブラウザはページ内に埋め込まれたすべてのスクリプトを実行し、CSSを処理して、変更されたページを表示します。ページを検査するときに表示されるものは、現在表示されているページであり、最初に受け取ったページではありません。 –