ซีลีเนียม-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