last day (15 days later) » 

7:38 PM
3
Q: Pegar código fonte da página com extensão do Google Chrome

Luciano ZancanÉ possível criar uma extensão para o Chrome que pegue ou o código fonte da página ou o texto todo (Ctrl + A, Ctrl + C), para enviar isso para um site externo (para mineração de dados) e que devolva o conteúdo resultante do site? (no caso, um grafo com os termos principais). obs: form que criei: ...

 
Mas por que está usando <form> e o ajax de exemplo que lhe forneci? Qual erro dava no Console?
 
Testei novamente, não está dando erro nenhum lá, apenas não aparece nada na extensão, abre uma janelinha branca e seleciona o texto todo da página, nada mais visível
 
Boa tarde, poderia explicar o problema do copiar texto não estar funcionando? Grato.
 
Oi! Não sei porque não está dando. Quando envio o texto, ao rcever o responseTxt ele não aparece os itens lá. Porém quando envio o código fonte ele aparece. Segue abaixo os exemplos: cod. fonte: array(167) { [0]=> string(10) "<document>" [1]=> string(24) "<nodo name="background">" [2]=> string(10) "<id>1</id>" [3]=> string(34) "<ocorrencia>0.3115942</ocorrencia>" [4]=> string(23) "<relacoes name="image">" [5]=> string(23) "<conexoes>50</conexoes>" [6]=> string(11) "</relacoes>"
e texto: array(2) { [0]=> string(10) "<document>" [1]=> string(11) "</document>" }
 
Mas você disse que o problema era com o copiar o texto e não com o envio das informações, tudo bem vou tentar ajudar rs, manda o link da página que está tentando copiar por favor.
 
7:38 PM
No texto só aparece document e na outra aparece as que aparecem se eu por o código fonte normalmente no site do servidor.
Sim! Mas ao enviar está ok! Porém para receber o método do cod. fonte está dando certo mas o texto não, parece que está enviando apenas essas 2 palavras. Se eu colocar para a extensão imprimir o conteúdo do texto e do cód. fonte, apenas o cód aparece ele, o texto aparece branco (null)
a página que to testando para ver se copia é o wikipedia mesmo: pt.wikipedia.org/wiki/Wikip%C3%A9dia:P%C3%A1gina_principal
 
Qual o página PHP que recebe os dados?
 
Como está o seu xhr.send(...);? Para eu modificar a minha extensão e testar.
 
ele envia para essa outra página que faz o mesmo serviço da outra mas não consegui fazer funcionar com a outra, acho que é por causa do submit
o send está assim: xhr.send('entrada=' + window.encodeURIComponent(request.source) /// e o post está assim: xhr.open("POST", "sobek.ufrgs.br/teste/SobekService.php", true);
 
Primeiro, o correto seria isto xhr.open("POST", "http://sobek.ufrgs.br/teste/SobekService.php", true);, Segundo a página new-sobek.php retornou um monte de html, terceiro a página SobekService.php retornou vazia. Por favor, me mande a sua extensão, acho que você modificou algo.
 
7:38 PM
Oi. Aqui está a extensão:
chrome.extension.onMessage.addListener(function(request, sender) {
if (request.action === "getSource") {
var message, data, xhr;

message = document.querySelector("#message");
data = request.source;

xhr = new XMLHttpRequest();
xhr.open("POST", "http://sobek.ufrgs.br/teste/SobekService.php", true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

xhr.onreadystatechange = function() {
if(xhr.readyState === 4) {
if (xhr.status === 200) {
message.innerText = "Resposta do servidor: " + xhr.responseText;
 
O que significa este responseText após o xhr.send
?
 
seria a resposta do servidor, como você me disse. Porém sem ele também recebe a resposta. O send mesmo faz isso certo?
mas com ou sem o responseTxt ele funciona do mesmo jeito
 
Mas eu não postei assim no código
Essa linha não deveria existir
 
a sim, acho que foi antes, no primeiro código
eu tirei mas continua a mesma coisa
 
7:45 PM
pois é, pra mim também não abre a página. Porém é esse mesmo, tentei o outro (new-sobek.php) mas não retorna nada aquele
ops
retorna html, como você falou
 
?
sim um retorna html e outro retorna vazio, mas nenhum retorna array(167) { [... como você disse
 
a página sobek.ufrgs.br/newSobekSite/new-sobek.php retorna o código fonte dela mesma
só um pouco
Resposta do servidor: array(2) {
[0]=>
string(10) "<document>"
[1]=>
string(11) "</document>"
}
ela retornou isso
( o http:// não aparece aqui)
 
Um min
é "entrada=" no "http://sobek.ufrgs.br/teste/SobekService.php"?
 
já o método do código fonte está retornando um monte de coisa mas as palavras "string(n) "nodo name=""(algo)" , o "algo" está de acordo com a resposta manual do site
sim
'entrada=' + window.encodeURIComponent(request.source)
 
Pra mim retorna vazio
abri até a aba network no console e motra "Empty response"
*mostra
 
7:49 PM
humm
estranho
 
Você está esquecendo de passar alguma informação pra mim
manda teu plugin todo por algum compartilhador de arquivo
pode mandar em formato compactado
 
como posso mandar?
 
não conheces compartilhadores de arquivos, como google docs?
 
sim, só estava em dúvida em qual usar. Tens skydrive?
acho que nao precisa
mas enfim
aí está o link, se nao der mando por outro
 
serve,
basta o link ser publico
 
7:54 PM
beleza
não sei se ajuda isso
mas aqui estão o service e o new
 
já baixei
 
ajuda sim
O new-sobek.php não tem nenhum $_POST, portanto não pode fazer nada com ele. Ou seja você enviando dados para o "nada".
 
humm
por isso então não da certo no site principal, apenas pelo /teste/sobekservice.php
 
E o sobekservice.php está rodando um aplicativo java "java -Dfile.encoding=UTF8 -jar WebserviceTeste.jar"
e por isto daquelas respostas estranhas,
 
8:00 PM
humm
 
para finalizar, os dados chegam perfeitamente, o problema é que talvez você não entenda os seus scripts PHP, desculpe a sinceridade :)
 
pois é kkkk
só uma coisa
no caso
 
Mas neste mesmo assunto, o copiar texto ou html funcionaram normalmente, o problema como eu disse é com o PHP ou como você está usando eles.
 
do código fonte
se eu tirar o send, por apenas um alert com ele ou um messageinnertext
ele funciona normalmente
mas o do texto
não aparece nada
se eu coloco para imprimir o request.source
 
mas o send é que executa o ajax, sem ele o evento "onreadystatechange" nunca é disparado.
vou mandar um exemplo para você ver a resposta do request.source
 
8:05 PM
ok
mas é estranho
porque mesmo sem o send, ele imprime normalmente o cód. fonte
mas o texto não
pelo menos ao dar um alert
com cada um
 
texto voce quer dizer quando usa o metodo assim: "copyFromDOM(document.body, false)"????
 
sim
o método que copia a página
e não o metodo que copia o cód. fonte
 
achei o motivo da página em branco
testei aqui e o request.source retorna o texto
vou mandar um link 1 min
 
Fiz o teste com o teu servidor e chegou isto:
Resposta do servidor: array(8) {
[0]=>
string(10) "<document>"
[1]=>
string(26) "<nodo name="jpgfireglass">"
[2]=>
string(10) "<id>1</id>"
[3]=>
string(28) "<ocorrencia>1.0</ocorrencia>"
[4]=>
string(161) "<texto>[... index of parent directorycartao jpgfireglass jpgfireglass jpg ..., ... index of parent directorycartao jpgfireglass jpgfireglass jpg ...]"
[5]=>
string(8) "</texto>"
[6]=>
string(7) "</nodo>"
[7]=>
string(11) "</document>"
}
veja que "string(161) "<texto>[" é o texto que eu copiei
todo este texto foi copiado de uma página minha: index of parent directorycartao jpgfireglass jpgfireglass jpg ..., ... index of parent directorycartao jpgfireglass jpgfireglass jpg
 
8:14 PM
hmm
aaaa
mas esse teste que você fez foi com o metodo texto mesmo né?
porque aqui o texto só aparece a primeira string e a última (pelo menos no wikipedia) (<document> e </document>)
vou testar em outras só um momento
 
o sobek.nex serve pra que?
 
Para mim a página do pt.wikipedia.org/wiki/Wikipédia:Página_principal funcionou normal, chegou esta resposta
sobek.nex é extensão para o Opera
é a mesma coisa do chrome, usa o .rar
 
volto em 30, mas vou continuar na sala
 
8:20 PM
beleza
que estranho, continua dando a mesma coisa. apenas aparece isso
Resposta do servidor: array(2) {
[0]=>
string(10) "<document>"
[1]=>
string(11) "</document>"
}
vou ver se consigo descobrir porque está dando isso
mas valeu pela ajuda!
 
aparece uma tela de confirmação?
 
sim
ai dou ok
e aparece mesma coisa de antes
não mexi nada, apenas usei a extensão que você me mandou
 
8:51 PM
mas na tela de confirmação aparece o "source"?
 
não
pois é deveria aparecer né
mas não está aparecendo
que estranho
 
mas o confirm mostra o que exatamente
?
 
ele mostra
dados a serem enviados:?
entre o : e o ? deveria ter o source ne
não está aparecendo
 
entendi.
Vou testar no chrome
 
8:57 PM
testei no Chrome, a tela de confirm retornou isto: Dados a serem enviado:Index of /1Parent Directorycartao-1.jpgfireglass.jpgfireglass2.jpg?
 
ou seja para mim funcionou
 
que estranho
algo
será que precisa
tipo alguma autenticação a mais?
é a mesma extensão
 
Sim é a mesma que tem mandei
 
só em pcs diferentes
 
8:58 PM
quer a versão instalavel?
 
estou usando Windows 7x64 com chrome 41.0.2272.101 m
O que você usa?
 
hmm
windows 8 e a versão do chrome 38
vou atualizar ele
talvez seja isso
 
Para o Chrome realmente isto é desatualizado, rs.
 
pois é
deu erro na atualização
vi agora
nem sabia kk
ai desde que instalei ta igual
 
9:02 PM
Então se aparece erro, é por que o GoogleUpdateService está desabilitado ou não está instalado,
recomendo fazer um backup dos seus dados e sessões e reinstalar tudo.
 
vou atualizar ele aqui, se der certo posto aqui depois
valeu!
 
Mas faz o seguinte, instala o Opera também
é a mesma técnologia
 
humm
ok
 
só pra testar a extensão
 
9:03 PM
me avisa quando estiver ok
 
beleza
até depois
 
Vou ficar online no Chat, pode me chamar
"Pinei" a aba
:) mesmo que eu feche o browser, quando voltar já volto pro chat rs
Cara legal que estamos perto de resolver
 
cara
nem sei se fico triste ou alegre aposkaspoask
nossa
era só chrome desatualizado
agora deu certo, apareceu o source
valeu mesmo!
;]
no wikipedia agora aparece isso
Resposta do servidor: array(437) {
[0]=>
string(10) "<document>"
[1]=>
string(23) "<nodo name="argentina">"
[2]=>
string(10) "<id>1</id>"
[3]=>
string(28) "<ocorrencia>0.5</ocorrencia>"
[4]=>
string(24) "<relacoes name="flores">"
[5]=>
string(22) "<conexoes>4</conexoes>"
[6]=>
string(11) "</relacoes>"
[7]=>
string(21) "<relacoes name="dia">"
[8]=>
string(22) "<conexoes>4</conexoes>"
[9]=>
string(11) "</relacoes>"
[10]=>
string(471) "<texto>[... colorado uruguaio secretamente apoiado pela argentina desde a sua independência o uruguai tinha sido ..., ... colorado ��blanco flores foi ajudado p
valeu mesmo cara! ;] acho que agora só falta ver o sobekservice (que não é muito comigo) para ficar tudo ok!
muito obrigado pela ajuda aí!
 
Por nada, fico feliz que o seu projeto tenha superado esta dificuldade e finalmente você possa dar andamento, só lhe desejo sucesso.
 
valeu! ;]
igualmente!
 

last day (15 days later) »