ซีลีเนียม-webdriver คืออะไร?
Selenium-webdriver เป็นแพ็คเกจโหนด "เบราว์เซอร์อัตโนมัติ" สามารถใช้สำหรับการทดสอบแอปพลิเคชันเว็บหรือสำหรับการทำงาน/การรวบรวมข้อมูลบนอินเทอร์เน็ตโดยอัตโนมัติ (หรือที่รู้จักในชื่อ web-scraping)
ทำไมต้องมีบทความนี้?
ฉันเพิ่งใช้ Selenium เป็นครั้งแรก และใช้เวลาประมาณหนึ่งชั่วโมงจึงจะทำงานได้ เอกสารของพวกเขามีช่องว่างเพียงไม่กี่ช่องและกรอกข้อมูลโดยลดเวลาเหลือเพียง 5 นาทีสำหรับผู้เริ่มต้น จำเป็นต้องพูดเลยว่า เอกสาร ของพวกเขาไม่ครอบคลุมทุกประการ
ความรู้/การพึ่งพาที่จำเป็น
- จาวาสคริปต์
- โหนด js
1. ตั้งค่าโครงการของคุณ
สร้างไดเร็กทอรีสำหรับโปรเจ็กต์ของคุณและเริ่มต้น npm โดยใช้:
npm -y init
<แข็งแกร่ง>2. ติดตั้ง Selenium-webdriver
ติดตั้งแพ็คเกจ selenium-webdriver ในขณะที่อยู่ในไดเร็กทอรีโปรเจ็กต์ของคุณโดยใช้:
npm i selenium-webdriver
<แข็งแกร่ง>3. ดาวน์โหลดไดรเวอร์เว็บของคุณ
ไปที่เอกสาร Selenium NPM และค้นหาตารางด้านล่าง:
ที่นี่ คุณจะเลือกเบราว์เซอร์ใดก็ได้ที่คุณวางแผนจะใช้ ในตัวอย่างนี้ ฉันจะใช้ Chrome
มันจะพาคุณไปสู่หน้าที่ดูน่ากลัวเช่นนี้:
ไม่ต้องกังวล! คุณเพียงแค่ต้องดูว่าคุณใช้ Chrome เวอร์ชันใดและเลือกลิงก์ที่สอดคล้องกับเวอร์ชันนั้น หากต้องการทราบว่าคุณใช้เวอร์ชันใด ให้คลิก (Chrome ›› เกี่ยวกับ Google Chrome) แล้วคุณจะเห็นสิ่งนี้:
ในหน้าน่ากลัว ให้คลิกเวอร์ชันใดก็ตามที่ตรงกับเวอร์ชัน Chrome ของคุณ ไฟล์นี้จะดาวน์โหลด คุณควรเปิดและเรียกใช้ คุณจะเห็นหน้าต่างเทอร์มินัลปรากฏขึ้นดังนี้:
<แข็งแกร่ง>4. เพิ่ม webdriver ให้กับ PATH ระบบของคุณ
นี่เป็นส่วนที่ฉันติดอยู่เนื่องจากเอกสาร Selenium ไม่ได้ให้ข้อมูลเชิงลึกใดๆ เว็บไดรเวอร์ที่คุณเพิ่งติดตั้งจะต้องสามารถเข้าถึงได้โดยโปรเจ็กต์ของคุณ ดังนั้นเราจึงจำเป็นต้องเพิ่มไดเร็กทอรีที่เว็บไดรเวอร์นั้นใช้งานอยู่ในตัวแปรสภาพแวดล้อม PATH ของระบบ หากคุณไม่เข้าใจสิ่งนี้ก็ไม่ต้องกังวล
ค้นหาเส้นทางสำหรับโฟลเดอร์ดาวน์โหลดของคุณ ซึ่งควรมีลักษณะดังนี้:
/Users/YOUR_USER/Downloads/
เปิดเทอร์มินัลแล้วแก้ไขโปรไฟล์ทุบตีของคุณ:
$ vim .bash_profile
และเพิ่มบรรทัดต่อไปนี้ แต่ด้วยเส้นทางที่คุณพบด้านบน (กด i เพื่อเริ่มแก้ไข)
export PATH=$PATH:/Users/YOUR_USER/Downloads/
บันทึกและออก (กด “esc” จากนั้นพิมพ์ :wq และกด Enter)
แหล่งที่มา (รีเฟรช) โปรไฟล์ bash ของคุณด้วยคำสั่งด้านล่าง:
$ source .bash_profile
<แข็งแกร่ง>5. ลองดูสิ!
คุณสามารถลองใช้รหัสนี้ คุณควรเห็นเบราว์เซอร์เปิดอยู่ ทำการค้นหาโดย Google แล้วปิด
const {Builder, By, Key, until} = require('selenium-webdriver'); (async function example() { let driver = await new Builder().forBrowser("chrome").build(); try { await driver.get('http://www.google.com/ncr'); await driver.findElement(By.name('q')).sendKeys('You did it!!', Key.RETURN); await driver.wait(until.titleIs('You did it!! - Google Search'), 1000); } finally { await driver.quit(); } })();
สรุป
ซีลีเนียมเป็นเครื่องมือที่ทรงพลังและสนุกสนานมาก ฉันหวังว่านี่จะช่วยให้คุณเริ่มต้นใช้งานได้! หากคุณยังคงประสบปัญหา โปรดติดต่อผ่านความคิดเห็น! หมายเหตุด้านข้าง — ตะโกนไปที่ AdHouse