Logo Hardware.com.br
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#2 Por esquiloesper...
27/12/2022 - 14:35
Pois então @llen... O problema nem é apenas a função JS mas cada tabela em si: a estrutura (a maneira como é construída) irá interferir diretamente!

Para limitar os resultados você pode atuar na estrutura, delimitando assim o setor (ou setores) das linhas que entrarão na contagem.
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#4 Por andremachado
27/12/2022 - 16:28
@llen

Em um mundo ideal, os webmasters colocariam as linhas e aplicasse, nele, a sua função.

Infelizmente, porém, no mundo real, nem todos os webmasters seguem esse padrão e, logo, cada caso é um caso. O que você poderia fazer, de forma geral, é: sabendo que a tabela possui uma linha
56 6F 63 EA 20 E9 20 6D 75 69 74 6F 20 63 75 72 69 6F 73 6F 2E 2E 2E
----------------------------------------
Acer Aspire E5-471-30DG (Casa)
Samsung Book 550XDA-K07 (Trabalho)
@llen
@llen Zumbi Registrado
6.1K Mensagens 241 Curtidas
#5 Por @llen
27/12/2022 - 17:54
andremachado disse:
@llen
Então, bastaria que você pegasse todo o conteúdo que estivesse entre as tags e e aplicasse, nele, a sua função.

O conteúdo que eu quero está em um
andremachado disse:
@llen
O que você poderia fazer, de forma geral, é: sabendo que a tabela possui uma linha de título, subtrair 1 do resultado final.
Já pensei dessa forma, porém é uma página que possui uma tabela com vários títulos, um abaixo do outro, mas no código separados por . E dependendo do período que eu filtrar, alguns deixam de aparecer e o filtro é só de data.
andremachado
andremachado Highlander Registrado
3.3K Mensagens 2K Curtidas
#6 Por andremachado
27/12/2022 - 21:36
@llen

@llen disse:
O conteúdo que eu quero está em um , porém existe mais de uma sessão dessa mesma tag na mesma tabela. Tem como contar só um específico da página? Não tem ID.


Já pensei dessa forma, porém é uma página que possui uma tabela com vários títulos, um abaixo do outro, mas no código separados por . E dependendo do período que eu filtrar, alguns deixam de aparecer e o filtro é só de data.


Basta fazer uma pequena alteração em sua função (que, aliás, possui um erro trivial: veja o que você está retornando no código que postou eek.png)

O código seria esse:

[code=JavaScript]const quantidadeLinhas = await page.evaluate(() => {
const tbd = document.getElementsByTagName("tbody")[0];
const tabela = tbd.getElementsByTagName("tr");
const num = tabela.length;
return num;
});[/code]

Neste caso, ele vai retornar a quantidade de linhas do primeiro tbody. Você pode alterar facilmente para os demais ou até criar um loop for.
56 6F 63 EA 20 E9 20 6D 75 69 74 6F 20 63 75 72 69 6F 73 6F 2E 2E 2E
----------------------------------------
Acer Aspire E5-471-30DG (Casa)
Samsung Book 550XDA-K07 (Trabalho)
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal