Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Função JS que usado o DOM e retorna o conteúdo de uma div com tabelas como objeto JSON #1

Open
Dovyski opened this issue Oct 16, 2020 · 0 comments

Comments

@Dovyski
Copy link
Member

Dovyski commented Oct 16, 2020

O objetivo dessa tarefa é implementar uma função javascript que leia o DOM de uma página e retorne o conteúdo de uma tabela em forma de um objeto/JSON.

Exemplo de teste

Um exemplo de página HTML que precisa ser processada está disponível nesse gist. Nesse exemplo, existem 3 conjuntos de dados dentro de tabelas que precisam ser extraídos. Os conjuntos de dados (tabelas) que precisam ser extraídos são mostrados abaixo.

CCRs Regulares

image

Se a função fosse aplicada ao div de id corpo:j_idt219:j_idt220, que é o div que abriga a(s) tabela(s) da figura acima, o objeto/JSON retornado pela função seria o seguinte:

[
  {
    "Código": "GEX454",
    "Componente Curricular": "Tópicos em automação e controle(optativo)",
    "Fase": 0,
    "Situação": "APR",
    "Data de Inclusão":  "08/09/2013", 
    "Turma":  "5380",
    "Média": "6,90",
    "Frequência": "80,6%" 
  },
  {
    "Código": "GEX389",
    "Componente Curricular": "Tópicos especiais em engenharia de software(optativo)",
    "Fase": 0,
    "Situação": "APR",
    "Data de Inclusão":  "13/04/2013", 
    "Turma":  "3947",
    "Média": "9,60",
    "Frequência": "97,2%" 
  },
 ....
]

CCRs Extracurriculares/Eletivos:

image

Se a função fosse aplicada ao div de id corpo:j_idt219:j_idt256, que é o div que abriga a(s) tabela(s) da figura acima, o objeto/JSON retornado pela função seria o seguinte:

[
  {
    "Código": "GLA008",
    "Componente Curricular": "Leitura e expressão escrita I",
    "Situação": "APR",
    "Data de Inclusão":  "25/03/2010", 
    "Turma":  "50",
    "Média": "6,30",
    "Frequência": "94,4%" 
  },
  {
    "Código": "GEX021",
    "Componente Curricular": "Programação orientada a objetos I",
    "Fase": 0,
    "Situação": "APR",
    "Data de Inclusão":  "25/03/2010", 
    "Turma":  "173",
    "Média": "9,70",
    "Frequência": "88,9%" 
  }
]

ACCs

image

Se a função fosse aplicada ao div de id corpo:j_idt219:j_idt289, que é o div que abriga a(s) tabela(s) da figura acima, o objeto/JSON retornado pela função seria o seguinte:

[
  {
    "Grupo": "Cultura",
    "Tipo": "Participação em atividade cultural (teatro, cinema, literatura) desenvolvida no interior da UFFS",
    "Data de Realização":  "05/12/2012", 
    "Comprovante":  "4h",
    "Computada": "4h",
    "Observação": "Participação como ouvinte 1ª Conferencia de Ensino, Pesquisa e Extensão - COEPE" 
  },
  {
    "Grupo": "Extensão e aprimoramento profissional",
    "Tipo": "Curso extracurricular relacionado à área",
    "Data de Realização":  "26/05/2010", 
    "Comprovante":  "4h",
    "Computada": "4h",
    "Observação": "Ministrou a oficina: Linux Básico no 1ª Seminário de Tecnologia e Gestão da Inovação." 
  },
  .....
]

Resultado esperado

Um PR com um arquivo JS contendo a função e que, quando aplicado no arquivo historico.html, em cada um dos divs informados, retorne as informações conforme descrito nos exemplos acima.

@Dovyski Dovyski added the hacktoberfest Atividade realizada durante o período da hacktoberfest label Oct 16, 2020
@Dovyski Dovyski removed the hacktoberfest Atividade realizada durante o período da hacktoberfest label Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant