วิธีรับ URL ปัจจุบันด้วย Selenium

How Get Current Url With Selenium



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

ในบทความนี้ ฉันจะแสดงวิธีรับ URL ปัจจุบันของเบราว์เซอร์ด้วย Selenium มาเริ่มกันเลยดีกว่า







ข้อกำหนดเบื้องต้น:

หากต้องการลองใช้คำสั่งและตัวอย่างของบทความนี้ คุณต้องมี



1) การแจกจ่าย Linux (ควรเป็น Ubuntu) ที่ติดตั้งบนคอมพิวเตอร์ของคุณ
2) Python 3 ติดตั้งบนคอมพิวเตอร์ของคุณ
3) PIP 3 ติดตั้งบนคอมพิวเตอร์ของคุณ
4) Python virtualenv แพ็คเกจที่ติดตั้งบนคอมพิวเตอร์ของคุณ
5) เว็บเบราว์เซอร์ Mozilla Firefox หรือ Google Chrome ที่ติดตั้งบนคอมพิวเตอร์ของคุณ
6) ต้องรู้วิธีการติดตั้งไดรเวอร์ Firefox Gecko หรือ Chrome Web Driver



เพื่อปฏิบัติตามข้อกำหนด 4, 5 และ 6 โปรดอ่านบทความของฉัน รู้เบื้องต้นเกี่ยวกับซีลีเนียมด้วย Python 3 ที่ Linuxhint.com





คุณสามารถค้นหาบทความมากมายในหัวข้ออื่น ๆ ได้ที่ LinuxHint.com . อย่าลืมตรวจสอบหากคุณต้องการความช่วยเหลือ

การตั้งค่าไดเรกทอรีโครงการ:

เพื่อให้ทุกอย่างเป็นระเบียบ ให้สร้างไดเร็กทอรีโครงการใหม่ ซีลีเนียม-url/ ดังนี้



$mkdir -pvซีลีเนียม-url/คนขับรถ

นำทางไปยัง ซีลีเนียม-url/ ไดเรกทอรีโครงการดังต่อไปนี้:

$ซีดีซีลีเนียม-url/

สร้างสภาพแวดล้อมเสมือน Python ในไดเร็กทอรีโครงการดังนี้:

$virtualenv .venv

เปิดใช้งานสภาพแวดล้อมเสมือนดังต่อไปนี้:

$แหล่งที่มา.venv/เป็น/เปิดใช้งาน

ติดตั้งไลบรารี Selenium Python ในสภาพแวดล้อมเสมือนของคุณโดยใช้ PIP3 ดังนี้:

$ pip3 ติดตั้งซีลีเนียม

ดาวน์โหลดและติดตั้งไดรเวอร์เว็บที่จำเป็นทั้งหมดในไฟล์ คนขับรถ/ ไดเรกทอรีของโครงการ ฉันได้อธิบายขั้นตอนการดาวน์โหลดและติดตั้งไดรเวอร์เว็บในบทความของฉันแล้ว รู้เบื้องต้นเกี่ยวกับซีลีเนียมด้วย Python 3 . หากคุณต้องการความช่วยเหลือ ค้นหาใน LinuxHint.com สำหรับบทความนั้น

ฉันจะใช้เว็บเบราว์เซอร์ Google Chrome สำหรับการสาธิตในบทความนี้ ดังนั้นฉันจะใช้ chromedriver ไบนารีกับซีลีเนียม คุณควรใช้ คนขับตุ๊กแก binary หากคุณต้องการใช้เว็บเบราว์เซอร์ Firefox

สร้างสคริปต์ Python ex01.py ในไดเร็กทอรีโครงการของคุณและพิมพ์โค้ดต่อไปนี้ลงไป

จากซีลีเนียมนำเข้าไดรเวอร์เว็บ
จากซีลีเนียม.ไดรเวอร์เว็บ.ทั่วไป.กุญแจ นำเข้ากุญแจ
ตัวเลือก=ไดรเวอร์เว็บChromeOptions()
ตัวเลือก.หัวขาด = จริง
เบราว์เซอร์=ไดรเวอร์เว็บโครเมียม(executable_path='./drivers/chromedriver',ตัวเลือก=ตัวเลือก)
เบราว์เซอร์รับ('https://duckduckgo.com/')
พิมพ์(เบราว์เซอร์ปัจจุบัน_url)
เบราว์เซอร์ปิด()

เมื่อเสร็จแล้วให้บันทึก ex01.py สคริปต์ไพทอน

ที่นี่ บรรทัดที่ 1 และบรรทัดที่ 2 นำเข้าส่วนประกอบที่จำเป็นทั้งหมดจากไลบรารี Python selenium

บรรทัดที่ 4 สร้างวัตถุตัวเลือกของ Chrome และบรรทัดที่ 5 เปิดใช้งานโหมดหัวขาดสำหรับเว็บเบราว์เซอร์ Chrome

บรรทัดที่ 7 สร้าง Chrome เบราว์เซอร์ วัตถุโดยใช้ chromedriver เลขฐานสองจาก คนขับรถ/ ไดเรกทอรีของโครงการ

บรรทัดที่ 9 บอกให้เบราว์เซอร์โหลดเว็บไซต์ duckduckgo.com

บรรทัดที่ 10 พิมพ์ URL ปัจจุบันของเบราว์เซอร์ ที่นี่, browser.current_url คุณสมบัติใช้เพื่อเข้าถึง URL ปัจจุบันของเบราว์เซอร์

บรรทัดที่ 12 ปิดเบราว์เซอร์

เรียกใช้สคริปต์ Python ex01.py ดังนี้

$ python3 ex01.พาย

อย่างที่คุณเห็น URL ปัจจุบัน ( https://duckduckgo.com ) พิมพ์บนคอนโซล

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

สร้างสคริปต์ Python ex02.py ในไดเร็กทอรีโครงการของคุณและพิมพ์โค้ดต่อไปนี้ลงไป

จากซีลีเนียมนำเข้าไดรเวอร์เว็บ
จากซีลีเนียม.ไดรเวอร์เว็บ.ทั่วไป.กุญแจ นำเข้ากุญแจ
ตัวเลือก=ไดรเวอร์เว็บChromeOptions()
ตัวเลือก.หัวขาด = จริง
เบราว์เซอร์=ไดรเวอร์เว็บโครเมียม(executable_path='./drivers/chromedriver',ตัวเลือก=ตัวเลือก)
เบราว์เซอร์รับ('https://duckduckgo.com/')
พิมพ์(เบราว์เซอร์ปัจจุบัน_url)
ค้นหาอินพุต=เบราว์เซอร์find_element_by_id('search_form_input_homepage')
ค้นหาอินพุตsend_keys('ซีลีเนียม HQ'+ กุญแจเข้าสู่)
พิมพ์(เบราว์เซอร์ปัจจุบัน_url)
เบราว์เซอร์ปิด()

เมื่อเสร็จแล้วให้บันทึก ex02.py สคริปต์ไพทอน

ในที่นี้ บรรทัดที่ 1-10 เหมือนกับใน ex01.py . ดังนั้น ฉันจะไม่อธิบายพวกเขาอีก

บรรทัดที่ 12 ค้นหากล่องข้อความค้นหาและเก็บไว้ใน ค้นหาอินพุต ตัวแปร.

บรรทัดที่ 13 ส่งคำค้นหา ซีลีเนียม hq ใน ค้นหาอินพุต กล่องข้อความแล้วกด ใช้กุญแจ คีย์.ENTER .

เมื่อหน้าค้นหาโหลดขึ้นมา browser.current_url ใช้เพื่อเข้าถึง URL ปัจจุบันที่อัปเดต

บรรทัดที่ 15 พิมพ์ URL ปัจจุบันที่อัปเดตบนคอนโซล

บรรทัดที่ 17 ปิดเบราว์เซอร์

เรียกใช้ ex02.py สคริปต์ Python ดังต่อไปนี้:

$ python3 ex02.พาย

อย่างที่คุณเห็น สคริปต์ Python ex02.py พิมพ์ 2 URL

อันแรกคือ URL หน้าแรกของเครื่องมือค้นหา DuckDuckGo

อันที่สองคือ URL ปัจจุบันที่อัปเดตหลังจากทำการค้นหาในเครื่องมือค้นหา DuckDuckGo โดยใช้ข้อความค้นหา ซีลีเนียม hq .

บทสรุป:

ในบทความนี้ ฉันได้แสดงวิธีรับ URL ปัจจุบันของเว็บเบราว์เซอร์โดยใช้ไลบรารี Selenium Python ตอนนี้ คุณควรจะทำให้โครงการซีลีเนียมของคุณน่าสนใจยิ่งขึ้น