Estava testando o modulo do CPAN Javascript e tal e quando precisei executar o arquivo deu esse erro<br>ReferenceError: document is not defined at line 9: (null)<br>Esse erro é que preciso de alguma forma, acredito eu, executar alguma simulação de navegador junto cmo o module JavaScript. Me deem um help se puderem ou quem souber... qq coisa me add
<a href="mailto:roanbrasil@gmail.com">roanbrasil@gmail.com</a> para trocar ideia sobre isso.<br><br><br><span style="font-weight: bold;">ABAIXO CODE PERL: PS -> esse código é só um teste para entender como ele funciona com o javascript que quero.
</span><br style="font-weight: bold;"><span style="font-weight: bold;">Alguem me da um help?</span><br style="font-weight: bold;"><span style="font-weight: bold;">desculpem mesmo</span><br><br><br>#!/usr/bin/perl<br>use strict;
<br><br>use JavaScript;<br>use LWP::Simple;<br>use LWP::UserAgent;<br><br>my $ua = LWP::UserAgent->new;<br><br>$ua->agent('Mozilla/5.0');<br><br>#my $string = get('<a href="http://www.rumo.com.br/sistema/categorias.asp?IDLoja=1124'">
http://www.rumo.com.br/sistema/categorias.asp?IDLoja=1124'</a>);<br><br>#my $string = $ua->get('<a href="http://www.rumo.com.br/sistema/LojaSite.js'">http://www.rumo.com.br/sistema/LojaSite.js'</a>);<br>
<br>#my $string2 = "try{if(document.domain.indexOf('<a href="http://fastcommerce.com.br">fastcommerce.com.br</a>')>=0){document.domain='fastcommerce.com.br';}if(document.domain.indexOf('<a href="http://rumo.com.br">
rumo.com.br</a>')>=0){document.domain='rumo.com.br';}}catch(e){}";<br><br><br>#my $string3 =$ua->get('<a href="http://www.rumo.com.br/lojas/00001124/htm/JurosParcelas.js'">http://www.rumo.com.br/lojas/00001124/htm/JurosParcelas.js'
</a>);<br><br>my $string5 = <<'JSCRIPT';<br><br>//Informe abaixo os juros para parcelamento em 1x, 2x, 3x, etc.<br>var Juros=new Array(0,2.98,2.98,2.98,2.98,2.98,2.98,2.98,2.98,2.98);<br><br>function MostraMaxParcela(PrecoProd,MaxParcelas){
<br> var ComSem;<br> if(PrecoProd==0||MaxParcelas==1||Juros.length==0)return;<br> if(MaxParcelas==0||MaxParcelas>Juros.length)MaxParcelas=Juros.length;<br> if(Juros[MaxParcelas-1]>0)ComSem=""; else ComSem="<font color=#DD0000>&nbsp;sem&nbsp;juros</font>";
<br> document.write("ou&nbsp;<b>"+MaxParcelas+"x</b>"+ComSem+" de&nbsp;<b>"+FormatPrecoReais(CalculaParcelaJurosCompostos(PrecoProd,MaxParcelas))+"</b>");
<br>}<br><br><br>function MostraParcelas(PrecoProd,MaxParcelas){<br> var ComSem,EstiloLinha;<br> if(PrecoProd==0||MaxParcelas==1||Juros.length==0)return;<br> if(MaxParcelas==0||MaxParcelas>Juros.length)MaxParcelas=Juros.length
;<br> document.write("<br><table cellpadding=3 width=350><tr bgcolor=#DCDCDC><td colspan=4 height=22 class=TitTabParc align=center><b>Opções de parcelamento</td></tr><tr bgcolor=#FFFFFF><td class=TitTabParc>Número de parcelas</td><td align=right class=TitTabParc>Valor&nbsp;de<br>cada&nbsp;parcela</td><td align=right class=TitTabParc>Valor total parcelado</td><td align=right class=TitTabParc>Juros<br>%
a.m.</td></tr>");<br> for(var i=0;i<MaxParcelas;i++){<br> if(Juros[i]>0)ComSem="com juros"; else ComSem="<font color=#DD0000>sem&nbsp;juros</font>";<br> if((i%2)==0)EstiloLinha='EstParcPar'; else EstiloLinha='EstParcImpar';
<br> document.write("<tr class="+EstiloLinha+"><td class="+EstiloLinha+">"+(i+1)+"x "+ComSem+"</td><td class="+EstiloLinha+" align=right>"+FormatPrecoReais(CalculaParcelaJurosCompostos(PrecoProd,i+1))+"</td><td class="+EstiloLinha+" align=right>"+FormatPrecoReais(CalculaParcelaJurosCompostos(PrecoProd,i+1)*(i+1))+"</td><td align=right class="+EstiloLinha+" >"+FormatJuros(Juros[i])+"</td></tr>");
<br> }<br> document.write("</table><br>");<br>}<br><br>function FormatJuros(num){<br> num=num.toString().replace(/\$|\,/g,'');<br> if(isNaN(num))num="0";<br> sign=(num==(num=Math.abs
(num)));<br> num=Math.floor(num*100+0.50000000001);<br> cents=num%100;<br> num=Math.floor(num/100).toString();<br> if(cents<10)cents="0"+cents;<br> for(var i=0;i<Math.floor((num.length-(1+i))/3);i++)num=
num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));<br> if(num==0&&cents==0)return '0%'; else return ((sign)?'':'-')+'&nbsp;'+num+','+cents+'%';
<br>};<br><br>JSCRIPT<br><br>my $string6 = 'MostraMaxParcela(1429.99,0);';<br>#print $string5; exit 0;<br>my $rt = JavaScript::Runtime->new();<br>my $cx = $rt->create_context();<br><br><br><br> $cx->bind_function(name => 'write', func => sub { print @_;});
<br> $cx->eval("$string5 $string6 ");<br> <br> <br><br>=for<br> $cx->eval(q/<br> for (i = 99; i > 0; i--) {<br> write(i + " bottle(s) of beer on the wall, " + i + " bottle(s) of beer\n");
<br> write("Take 1 down, pass it around, ");<br> if (i > 1) {<br> write((i - 1) + " bottle(s) of beer on the wall.");<br> }<br> else {<br> write("No more bottles of beer on the wall!");
<br> }<br> }<br> /);<br>=cut<br><br>__END__<br>my $string4 = 'function MostraChat() {<br> popup=window.open("<a href="http://www.rumo.com.br/sistema/ChatLogin.asp?IDLoja=1124&Y=377647088236">http://www.rumo.com.br/sistema/ChatLogin.asp?IDLoja=1124&Y=377647088236
</a>","Chat275","top=20,left=20,height=280,width=390,scrollbars=no,resizable=yes");<br> popup.focus();<br> return void(0);<br>}';<br><br><br><br><br><div><span class="gmail_quote">Em 24/01/07,
<b class="gmail_sendername">roan Brasil</b> <<a href="mailto:roanbrasil@gmail.com">roanbrasil@gmail.com</a>> escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Valeu Luiz vou testar e lhe dou um feed back... abraços<br><br><div><span class="gmail_quote">Em 24/01/07, <b class="gmail_sendername">Luis Motta Campos</b> <<a href="mailto:luismottacampos@yahoo.co.uk" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
luismottacampos@yahoo.co.uk
</a>> escreveu:</span><div><span class="e" id="q_1105429878efd403_1"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On Jan 24, 2007, at 1:03 PM, roan Brasil wrote:
<br>><br>> Olá galera,
<br>><br>> Eu trabalho com Spider e gostaria de uma dica pode ser?<br>> Bom ao fazer Spider existem algumas coisas que não consigo coletar<br>> pois é em javascript. É uma função que passa o parametro do preco
<br>> de um produto e retorna a quantidade máxima de parcelas com juros e<br>> sem juros. Como posso "simular" quando eu chamo a home page o<br>> javascript ou "roda-lo"? Alguém pode me ajudar?
<br>> Resumindo é isso... quem puder me ajudar e ainda tiver dúvida me<br>> pergunte pois preciso resolver esse problema e estava conversando<br>> com Joenio e ele sugeriu mandar para a lista para ver se alguém me
<br>> ajudaria...<br>><br><br> Fácil. "use JavaScript;".<br> Mas instale o módulo primeiro:<br><br> <a href="http://search.cpan.org/%7Eclaesjac/JavaScript-1.00/lib/JavaScript.pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://search.cpan.org/~claesjac/JavaScript-1.00/lib/JavaScript.pm
</a><br><br> E prometa para mim que você sempre vai respeitar restrições<br>codificadas no robots.txt (<a href="http://en.wikipedia.org/wiki/Robots.txt" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://en.wikipedia.org/wiki/Robots.txt</a>),<br>e que você vai manter o nível ético e moral da sua profissão
<br>elevado. ;-)<br><br> Putamplexos, e boa diversão.<br>--<br>Luis Motta Campos is software engineer,<br>perl fanatic evangelist, and amateur {cook, photographer}<br><br><br>_______________________________________________
<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></span></div></div>
<br><br clear="all"><div><span class="e" id="q_1105429878efd403_3"><br>-- <br>Atenciosamente,<br><br>Roan Brasil Monteiro<br>Presidente do Rotaract Club Lauro de Freitas D4550<br>Gestão 2006/2007<br>________________________________
<br>*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*
<br>Faculdade UNIME<br><a href="http://www.unime.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.unime.com.br</a><br>BSI - Bacharelado de Sistema de Informação<br>Roan Brasil Monteiro <br>
_____________________<br>*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*<br><br>
"NA LUTA ENTRE BATMAN E PINGÜIM,<br>EU SOU MAIS O PINGÜIM..." by Roan<br>____<br> °v° NÃO USE DROGAS,<br>/(_)\ USE GNU/LINUX<br> ^ ^<br>Por que ver o MUNDO através de 'janelas'<br>Se você pode usar portas.
<br><br>"Software Livre:<br> Socialmente Justo,<br> Economicamente Viável,<br> Tecnologicamente Sustentável"
</span></div></blockquote></div><br><br clear="all"><br>-- <br>Atenciosamente,<br><br>Roan Brasil Monteiro<br>Presidente do Rotaract Club Lauro de Freitas D4550<br>Gestão 2006/2007<br>________________________________<br>
*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*<br>Faculdade UNIME<br><a href="http://www.unime.com.br">www.unime.com.br</a><br>BSI - Bacharelado de Sistema de Informação<br>Roan Brasil Monteiro <br>_____________________<br>*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*,*-*
<br><br>"NA LUTA ENTRE BATMAN E PINGÜIM,<br>EU SOU MAIS O PINGÜIM..." by Roan<br>____<br> °v° NÃO USE DROGAS,<br>/(_)\ USE GNU/LINUX<br> ^ ^<br>Por que ver o MUNDO através de 'janelas'<br>Se você pode usar portas.
<br><br>"Software Livre:<br> Socialmente Justo,<br> Economicamente Viável,<br> Tecnologicamente Sustentável"