หมายเหตุ: โครงการนี้ไม่ได้รับการอัปเดตอีกต่อไปเนื่องจากฉันออกจากโรงเรียนแล้ว โปรดใช้สิ่งนี้
Sparx-Bookwork-Code เป็นโครงการที่ฉันทำมาประมาณหนึ่งปี (ส่วนใหญ่เป็นงานอดิเรกและเพราะฉันขี้เกียจ)
เป็นเครื่องขูดเว็บสำหรับบันทึกรหัส Bookwork สำหรับ Sparx และทำการตรวจสอบ Bookwork ให้เสร็จสิ้นโดยอัตโนมัติ (อธิบายไว้ที่นี่) ใช้ไดรเวอร์ Chrome (Google Chrome) และตอนนี้ geckodriver (Firefox) เพื่อดึงค่าของคำตอบและรหัส ฉันใช้ python เป็นภาษาหลักของฉันและค่อนข้างเข้าใจง่าย
การมีไว้ที่นี่อาจช่วยใครก็ตามที่ต้องการทำการบ้านคณิตศาสตร์ Sparx โดยอัตโนมัติ (หรือแค่เกลียดการเขียนรหัสงานหนังสือ)
สิ่งนี้เน้นไปที่ Chrome เป็นหลัก (แม้ว่าฉันจะมีเวอร์ชัน Firefox ก็ตาม) เว็บเบราว์เซอร์อื่นๆ มีงานมากเกินไปในการติดตาม ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Chrome แล้ว เมื่อติดตั้ง Chrome แล้ว คุณจะต้องทราบว่าเป็นเวอร์ชันใด (Chromedriver พิถีพิถันมากเกี่ยวกับเวอร์ชันต่างๆ)
ขั้นแรก ไปที่จุดสามจุดที่มุมขวาบน จากนั้นไปที่การตั้งค่า > เกี่ยวกับ Chrome (อยู่ด้านล่าง) และดูเวอร์ชัน
จากนั้นไปที่นี่และดาวน์โหลดเวอร์ชันที่คุณมี
ต่อไปคลิกที่นี่ นี่ควรดาวน์โหลดไฟล์ที่เหลือที่คุณต้องการ
โฟลเดอร์ของคุณควรมีลักษณะดังนี้ ตอนนี้ให้รัน the.exe ชื่อ "BWK-CHROME Windows อาจเกิดข้อผิดพลาดขึ้น เพียงคลิก "ข้อมูลเพิ่มเติม" > เรียกใช้ต่อไป (หากคุณไม่คิดว่าโค้ดนั้นปลอดภัย คุณสามารถดูได้ ที่นี่)
พิมพ์รายละเอียด เท่านี้ก็เสร็จเรียบร้อย Chrome ควรเปิดขึ้น และรหัสงานหนังสือของคุณควรถูกบันทึกไว้สำหรับคุณ
หากคุณสามารถใส่ใจที่จะอ่านรหัสของฉัน คุณอาจสังเกตเห็นจำนวนความพยายาม: และยกเว้นที่มีอยู่ นี่เป็นเพราะ Selenium Webdriver
ด้วยเหตุผลบางประการ ซีลีเนียมจะพังหากไม่พบองค์ประกอบ ซึ่งหมายความว่าเพื่อหลีกเลี่ยงการหยุดทำงาน ฉันต้องใช้ try-ยกเว้น เช่นนี้
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 :
และ... เมื่อฉันตรวจสอบหลายองค์ประกอบ ผลลัพธ์คือการลองยกเว้นหลายครั้ง
ฉันใช้ Linux เป็นหลัก แต่เมื่อพัฒนาสิ่งนี้ ฉันยังคงใช้ Windows เป็นส่วนใหญ่ โดยฉันใช้ Chrome เป็นหลัก เมื่อเปลี่ยนมาใช้ Linux ฉันเริ่มใช้ Firefox เป็นส่วนใหญ่ ดังนั้นแทนที่จะติดตั้งเบราว์เซอร์สองตัว ฉันจึงเริ่มพัฒนา Sparxbwk เวอร์ชัน Firefox คล้ายกับ Chrome และ Chromedriver Firefox มี geckodriver ดังนั้นชื่อตุ๊กแก หากคุณกำลังจะใช้เครื่องมือนี้ ฉันขอแนะนำให้ใช้ Chrome เนื่องจากโดยทั่วไปจะมีสถานะที่ดีกว่า Gecko ฉันมักจะทดสอบสิ่งต่าง ๆ และฟีเจอร์ในเวอร์ชัน Firefox แทนที่จะเป็น Chrome แต่ทั้งสองอย่างควรจะใช้งานได้