참고: 이 프로젝트는 제가 학교를 떠났기 때문에 더 이상 업데이트되지 않습니다. 이 프로젝트를 이용해 주십시오.
Sparx-Bookwork-Code 는 제가 약 1년 동안 (주로 취미로, 게으르기 때문에) 진행해 온 프로젝트입니다.
Sparx용 Bookwork 코드를 기록하고 Bookwork 검사를 자동 완성하는 웹 스크레이퍼입니다(여기에 설명되어 있음). Chrome 드라이버(Google Chrome)와 이제 geckodriver(Firefox)를 사용하여 답변과 코드의 값을 가져옵니다. 저는 Python을 주요 언어로 사용하고 있으며 이해하기 매우 쉽습니다.
여기에 이 정보가 있으면 Sparx 수학 숙제를 어느 정도 자동화하려는 사람에게 도움이 될 수 있습니다. (또는 단지 북워크 코드 작성을 싫어함)
이것은 주로 Chrome 전용입니다(Firefox 버전이 있음에도 불구하고). 다른 웹 브라우저는 최신 상태를 유지하기에는 너무 많은 작업이 필요하므로 Chrome이 설치되어 있는지 확인하세요. Chrome이 설치되면 버전을 확인해야 합니다(Chromedriver는 버전에 대해 매우 까다롭습니다).
먼저 오른쪽 상단에 있는 점 3개로 이동하세요. 그런 다음 설정 > Chrome 정보(하단에 있음)로 이동하여 버전을 확인하세요.
그런 다음 여기로 이동하여 갖고 있는 버전을 다운로드하세요.
다음으로 여기를 클릭하세요. 그러면 필요한 나머지 파일이 다운로드됩니다.
폴더는 다음과 같아야 합니다. 이제 "BWK-CHROME"이라는 .exe를 실행합니다. Windows에서 오류가 나타날 수 있습니다. "추가 정보"를 클릭하면 됩니다. > 어쨌든 실행합니다(코드가 안전하지 않다고 생각되면 살펴보세요). 여기)
세부사항을 입력하면 완료됩니다. Chrome이 열리고 장부 코드가 기록됩니다.
내 코드를 읽는 것이 귀찮다면. try: 의 양이 눈에 띌 수도 있지만 예외는 Selenium Webdriver 때문입니다.
어떤 이유로 Selenium이 요소를 찾을 수 없으면 충돌이 발생합니다. 이는 충돌을 방지하려면 다음과 같이 try-Exception을 사용해야 함을 의미합니다.
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 :
그리고... 여러 요소를 확인해보니 결과적으로 try-Exception이 많이 발생했습니다.
저는 주로 Linux를 사용하는데, 이걸 개발할 당시에는 여전히 Windows를 주로 사용하고 있었고 여기서는 Chrome을 주로 사용했습니다. Linux로 전환하면서 저는 주로 Firefox를 사용하기 시작했습니다. 그래서 두 개의 브라우저를 설치하는 대신 Sparxbwk 의 Firefox 버전 개발을 시작했습니다. Chrome 및 Chromedriver와 유사하게 Firefox에는 geckodriver가 있으므로 gecko라는 이름이 붙었습니다. 이 도구를 사용하려면 일반적으로 Gecko보다 상태가 더 좋은 Chrome을 사용하는 것이 좋습니다. 저는 Chrome보다는 Firefox 버전에서 사물과 기능을 테스트하는 경향이 있지만 둘 다 작동해야 합니다.