โฮมเพจ » การเข้ารหัส » วิธีการสร้าง Bot ล็อกอินอัตโนมัติอย่างง่ายด้วย Python และ Selenium

    วิธีการสร้าง Bot ล็อกอินอัตโนมัติอย่างง่ายด้วย Python และ Selenium

    การทำงานอัตโนมัติ ไม่ต้องสงสัยเลยว่าเป็นหนึ่งในทักษะที่โลภมากที่สุดที่โปรแกรมเมอร์สามารถมีได้ ระบบอัตโนมัติมักใช้สำหรับงานที่ต้องทำ ซ้ำ, น่าเบื่อ, ใช้เวลานาน, หรืออย่างอื่น ไม่มีประสิทธิภาพ โดยไม่ต้องใช้สคริปต์.

    กับ เว็บอัตโนมัติ, คุณสามารถได้อย่างง่ายดาย สร้างบอทเพื่อทำงานต่าง ๆ บนเว็บเช่นการตรวจสอบอัตราการแข่งขันของโรงแรมผ่านอินเทอร์เน็ตและกำหนดราคาที่ดีที่สุด.

    ส่วนตัวฉันได้พบเสมอ เข้าสู่ระบบอีเมลของฉัน ค่อนข้างซ้ำซากและน่าเบื่อดังนั้นเพื่อเป็นตัวอย่างง่ายๆให้กับพวกคุณ เริ่มต้นด้วยการทำงานอัตโนมัติบนเว็บ, มาใช้กัน สคริปต์ Python อัตโนมัติ ไปยัง เข้าสู่ระบบด้วยคลิกเดียว ไปยังบัญชี Gmail.

    การติดตั้งและตั้งค่า

    ในบทช่วยสอนนี้เราจะใช้ เครื่องมือดังต่อไปนี้:

    1. ภาษาโปรแกรมไพ ธ อน
    2. เบราว์เซอร์ Google Chrome
    3. ชุดเครื่องมือเบราว์เซอร์อัตโนมัติซีลีเนียม
    4. โปรแกรมควบคุมเว็บไดรเวอร์ Chrome สำหรับ Chrome

    สำหรับโปรแกรมของเราเราจะใช้ภาษาการเขียนโปรแกรม Python โดยเฉพาะ รุ่น 2.7.11. เป็นสิ่งสำคัญที่เราจะต้องติดตั้ง Python 2 เวอร์ชั่นใหม่ที่เป็นธรรม เพราะมันมาพร้อมกับ PIP, ซึ่งจะทำให้เราสามารถติดตั้งแพ็คเกจและกรอบงานของบุคคลที่สามซึ่งเราจะต้องทำให้สคริปต์ของเราเป็นแบบอัตโนมัติ.

    เมื่อติดตั้งแล้ว, รีสตาร์ทคอมพิวเตอร์ของคุณ เพื่อให้การเปลี่ยนแปลงมีผล ใช้คำสั่ง pip การติดตั้งซีลีเนียม เพื่อเพิ่ม ชุดเครื่องมืออัตโนมัติเว็บซีลีเนียม ถึง Python ซีลีเนียมจะช่วยให้เราเลื่อนโปรแกรมคัดลอกข้อความกรอกแบบฟอร์มและคลิกปุ่ม.

    ในที่สุดก็ดาวน์โหลด ซีลีเนียม Chrome ไดร์เวอร์ปฏิบัติการ, ซึ่งจะ เปิด Google Chrome ตามที่จำเป็นในการทำงานอัตโนมัติของเรา ไดรเวอร์ Chrome เป็นเพียงวิธีในการเปิด Google Chrome (ซึ่งควรติดตั้งไว้แล้ว) เพื่อ เข้าถึงการทำงานของเบราว์เซอร์มาตรฐานโดยทางโปรแกรม.

    เพียงดาวน์โหลดไฟล์ ZIP ล่าสุดจากที่นี่แยกไฟล์ chromedriver.exe ปฏิบัติการและวางไฟล์ปฏิบัติการในไดเรกทอรีใด ๆ ตรวจสอบให้แน่ใจว่าได้จดบันทึกว่าไฟล์ปฏิบัติการของคุณอยู่ที่ใดเพราะ เราจะต้องการมันเมื่อเราเริ่มต้น.

    เริ่มต้นโปรแกรม

    ดังที่กล่าวมาเราจะใช้ เฟรมเวิร์กระบบอัตโนมัติบนเว็บซีลีเนียม เพื่อที่จะ เข้าสู่ระบบโดยทางโปรแกรม. ลำดับแรกของธุรกิจคือการ นำเข้าทุกโมดูล เราจะต้องการจากไลบรารี Selenium Python ที่เราติดตั้ง ealier ด้วย PIP.

    ลองเปิด IDLE หรือโปรแกรมแก้ไขรหัสอื่น, สร้างไฟล์ Python ใหม่ กับ .PY ส่วนขยายและ นำเข้าโมดูลต่อไปนี้:

     จาก selenium นำเข้า webdriver จาก selenium.webdriver.common.by นำเข้าโดยจาก selenium.webdriver.support.ui นำเข้า WebDriverWait จาก selenium.webdriver.support นำเข้าที่คาดหวังเป็น EC 

    ต่อไปเราจะ สร้างสองสาย นั่นเป็นตัวแทนของเรา ชื่อผู้ใช้และรหัสผ่าน สำหรับบัญชีอีเมล ใส่ใจกับการใช้อักษรตัวใหญ่โดยเฉพาะในสตริงรหัสผ่านของคุณ.

     usernameStr = 'putYourUsernameHere' passwordStr = 'putYourPasswordHere' 

    ตอนนี้เรามีทุกอย่างที่ตั้งค่าเพื่อเริ่มต้นกระบวนการเข้าสู่ระบบเราต้องสั่งให้หน้าต่างเบราว์เซอร์เป็นจริง เปิด Google Chrome, และ นำทางไปยังหน้าเข้าสู่ระบบของ Gmail.

    หากคุณยังไม่ได้ดำเนินการตรวจสอบให้แน่ใจว่าสคริปต์ Python ของคุณเป็นแบบนั้น บันทึกไว้ในตำแหน่งเดียวกับ chromedriver.exe ปฏิบัติการ เราแยกก่อนหน้านี้.

     browser = webdriver.Chrome () browser.get (('https://accounts.google.com/ServiceLogin? "บริการ = จดหมาย & ดำเนินการต่อ = https: //mail.google" .com / mail / # identifier')) 
    ค้นหาองค์ประกอบของเรา

    เราประสบความสำเร็จในการเปิดเบราว์เซอร์ Gmail แต่ตอนนี้เราต้องการ ค้นหาช่องใส่ บนหน้าเว็บที่เราสามารถทำได้ ป้อนชื่อผู้ใช้และรหัสผ่านของเรา.

    เราสามารถทำได้โดยใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ในตัว เราเพียงคลิกขวาที่ช่องป้อนข้อมูลและเลือก “ตรวจ” เมนู.

    ตอนนี้มันเป็นเพียงเรื่องของ ใช้ HTML รหัส แอตทริบิวต์ เพื่อค้นหาองค์ประกอบโดยทางโปรแกรม.

    ในรหัสด้านล่างเราเป็นเพียงแค่ ค้นหาช่องใส่ชื่อผู้ใช้โดย รหัส, และ เติมมัน ด้วยข้อความที่ต้องการ ถ้าอย่างนั้นเราก็ ค้นหาปุ่มถัดไป การเปลี่ยนผ่านที่มีภาพเคลื่อนไหวอย่างรวดเร็วก่อนที่จะขอรหัสผ่านให้เรา.

    send_keys () และ คลิก() คำสั่งทำตามที่ชื่อแนะนำ - send_keys () จำลองการกดปุ่ม ในองค์ประกอบที่ต้องการและ คลิก() จำลองการคลิกเมาส์.

     # กรอกชื่อผู้ใช้และกดปุ่มชื่อผู้ใช้ถัดไป = browser.find_element_by_id ('อีเมล') username.send_keys (usernameStr) nextButton = browser.find_element_by_id ('ถัดไป') nextButton.click () 

    เราทำได้ ทำสิ่งเดียวกัน สำหรับช่องป้อนรหัสผ่านเช่นเดียวกับปุ่มลงชื่อเข้าใช้ อย่างไรก็ตามทั้งสองรายการจะปรากฏบนหน้า เท่านั้น หลังจาก การเปลี่ยนภาพเคลื่อนไหว.

    ที่กล่าวว่าเราต้องการโปรแกรมเพื่อ รอสักครู่ ก่อนที่จะดำเนินการค้นหาองค์ประกอบต่อ ส่วนใหญ่ขั้นตอนของรหัสนี้ไม่แตกต่างจากรหัสก่อนหน้า เราเพียงแค่ต้องแนะนำเบราว์เซอร์ให้ รอสูงสุด 10 วินาที ก่อนค้นหารายการรหัสผ่าน.

     # รอการเปลี่ยนจากนั้นให้กรอกรหัสผ่านรายการ = WebDriverWait (เบราว์เซอร์ 10) .until (EC.presence_of_element_located ((By.ID, 'Passwd'))) password.send_keys (passwordStr) signInButton = browser.find_element_by_ (ลงชื่อเข้าใช้ '' ) signInButton.click () 
    คำพูดสุดท้าย

    คุณทำเสร็จแล้ว สร้างบอท ที่เข้าชมหน้าเว็บป้อนชื่อผู้ใช้และรหัสผ่านของคุณและลงชื่อเข้าใช้สำเร็จ, ทำให้กระบวนการทั้งหมดเป็นไปโดยอัตโนมัติ เพื่อคลิกเดียว ฉันรู้ว่านี่เป็นการสาธิตง่ายๆ แต่ความเป็นไปได้ไม่มีที่สิ้นสุด.

    บนโน้ตตัวเดียวกันนั้น, ระวัง คุณใช้ทักษะนี้อย่างไร บางคนใช้บ็อตและสคริปต์อัตโนมัติเพื่อเข้าสู่การชิงโชคเป็นพัน ๆ ครั้งโดยไม่คำนึงถึงข้อกำหนดและเงื่อนไข บางคนใช้พวกเขาเพื่อจุดประสงค์ที่เป็นอันตรายเพิ่มเติม.

    เพียงให้แน่ใจว่าได้ใช้ระบบอัตโนมัติอย่างมีวัตถุประสงค์และอย่างระมัดระวังเพราะมันเป็น ทักษะที่จำเป็นมาก ในชุมชนการเขียนโปรแกรม!

    หมายเหตุจากบรรณาธิการ: นี่คือโพสต์ที่เขียนขึ้นสำหรับ Hongkiat.com โดย Malik Brahimi. Malik เป็นนักพัฒนาซอฟต์แวร์ที่ตั้งอยู่ในเขต Greater Boston และชอบอาหารฟุตบอลและการเขียนโปรแกรม (ภาษาที่ชื่นชอบ Python).

    • แหล่งดาวน์โหลด