Nota: Este projeto não está mais sendo atualizado porque saí da escola, por favor use este
Sparx-Bookwork-Code é um projeto no qual venho trabalhando há cerca de um ano (principalmente como hobby e porque sou preguiçoso).
É um web scraper para registrar códigos de Bookwork para Sparx e completar automaticamente as verificações de Bookwork (explicado aqui). Ele usa o driver chrome (Google Chrome) e agora o geckodriver (Firefox) para obter os valores das respostas e códigos. Eu uso python porque é minha linguagem principal e é bastante fácil de entender.
Tê-lo aqui pode ajudar qualquer pessoa que queira automatizar um pouco seu dever de casa de matemática Sparx. (ou simplesmente odeia escrever códigos de livros)
Isto é principalmente dedicado ao Chrome (embora eu tenha uma versão do Firefox). Outros navegadores da web são muito trabalhosos para se manterem atualizados, portanto, certifique-se de ter o Chrome instalado. Depois que o Chrome estiver instalado, você precisará descobrir qual versão ele é (o Chromedriver é muito exigente quanto às versões).
Primeiro, navegue até os três pontos no canto superior direito. em seguida, vá para Configurações> Sobre o Chrome (está na parte inferior) e veja a versão.
Então acesse aqui e baixe a versão que você possui.
A seguir, clique aqui. Isso deve baixar o restante dos arquivos que você precisa.
Sua pasta deve ser parecida com esta Agora execute o.exe chamado "BWK-CHROME. O Windows pode apresentar um erro, basta clicar em "mais informações."> Executar mesmo assim (se você não acha que o código é seguro, você pode dar uma olhada nele aqui)
Digite os detalhes e pronto. O Chrome deve abrir e seus códigos de livro devem ser registrados para você.
Se você se incomodar em ler meu código. Você pode notar a quantidade de try: e as exceções que existem, isso se devem ao Selenium Webdriver .
Por alguma razão, o Selenium irá travar se não conseguir encontrar um elemento. Isso significa que para evitar travamentos eu tenho que usar try-excepts, assim:
try :
kp = driver . find_element_by_class_name ( 'number-input' )
if kp . get_attribute ( "value" ) != "" :
log ( "[BWK] " + BWK . text + " [ANSWER] " + kp . get_attribute ( "value" ))
except :
E... conforme verifico vários elementos, o resultado são muitas tentativas-exceto.
Eu uso principalmente Linux, mas quando desenvolvi isso, ainda usava principalmente Windows, onde usava principalmente o Chrome. Ao mudar para o Linux, comecei a usar principalmente o Firefox. Então, em vez de ter dois navegadores instalados, comecei o desenvolvimento em uma versão do Sparxbwk para Firefox . Semelhante ao Chrome e ao Chromedriver, o Firefox possui um geckodriver, daí o nome gecko. Se você for usar esta ferramenta, sugiro usar o Chrome, pois geralmente está em melhor estado do que o Gecko. Costumo testar coisas e recursos na versão do Firefox em vez do Chrome, mas ambos devem funcionar.