Selenium (ซิลิเนี่ยม) เป็น Software Testing Framework (ซอฟแวร์ เทสติ้ง เฟรมเวิร์ค) ที่มีประสิทธิภาพทีดีมากตัวหนึ่งในปัจจุบัน ซึ่งเอาไว้ใช้สำหรับการทำ Automated Testing (ออโต้เมท เทสติ้ง) หรือ พูดง่ายๆก็คือ มันทำให้เราสามารถควบคุมหน้าเว็บได้โดยการเขียนโปรแกรม ซึ่งในPython คืออะไร ไพธอนได้มีโมดูล Selenium (ซิลิเนียม) รองรับแล้วอีกทั้งมันยังเป็นซอฟต์แวร์ Open source (โอเพ่น ซอส) หรือ ฟรีนั่นเอง อีกทั้งยังสามารถรันได้ในหลายๆระบบปฏิบัติการเช่น วินโดวส์ ลินุกซ์ 

 

ข้อผิดพลาดในการเปิดหน้าเว็บบราวเซอร์คืออะไร

                                 โดยปกติแล้วถ้าเราใช้คำสั่งเปิดหน้าเว็บของโมดูล Selenium เราก้สามารถใช้คำสั่ง  driver.get("url") ได้เลยแต่ในบางครั้งอาจจะมีข้อผิดพลาด เกิดขึ้นได้ในบางครั้งดังในรูปภาพด้านล่าง เราจึ่งต้องเขียนโค้ดขึ้นมาป้องกันด้วย

วิธีการแก้ไขข้อผิดพลาดในการเปิดหน้าเว็บบราวเซอร์ ด้วยภาษาไพธอน     

                              1.เรานั้นสามารถเขียนโค้ดขึ่นมาเพื่อเช็คความผิดพลาดได้ดังนี้

from selenium import webdriver
import time
driver = webdriver.Firefox(executable_path=r'D:\New Folder\python_test\Mt24\geckodriver.exe')


def open_web(web_page):  # ฟังก์ชั่นเปิดเว็บและเช็คผิดพลาด
    element = "</body></html>" #footer(เป็นโครงสร้างของเว็บที่อยุ่ล่างสุดถ้าไม่มีอันนี้แสดงว่าการโหลดผิดพลาด)
    driver.get(web_page)
    time.sleep(0.5)
    while 1:
        check = driver.page_source #เช็คโครงสร้างของหน้าเว็บ
        if (check.find(element) == (-1)):  # เช็คความผิดพลาดของหน้าเว็บ
            print("พบตวามผิดพลาดของเว็บ%s" % web_page)
            driver.get(web_page)  #ถ้าเกิดพบความผิดพลาดจะเปิดหน้าเว็บอีกครั้งหนึ่ง
            print("โหลดเว็บใหม่อีกรอบ")
        else:
            print("ไม่พบความผิดพลาดของเว็บ%s" % web_page)
            break

open_web("https://www.google.co.th/")

                             

                         2.ผลการรัน

ไม่พบความผิดพลาดของเว็บhttps://www.google.co.th/

 

อ้างอิงรูปภาพ selenium hq

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ภาษา Lua ตอนที่ 9 : ตัวดำเนินการตรรกะ
โดย worramaitk พฤ 18 ม.ค. 2024 5:17 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
775
พฤ 18 ม.ค. 2024 5:17 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 9 : ตัวดำเนินการตรรกะ
ภาษา Lua ตอนที่ 8 : ตัวดำเนินการ
โดย worramaitk พฤ 18 ม.ค. 2024 4:55 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
531
พฤ 18 ม.ค. 2024 4:55 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 8 : ตัวดำเนินการ
ภาษา Lua ตอนที่ 7 : ชนิดข้อมูล Table (2)
โดย worramaitk พฤ 18 ม.ค. 2024 4:02 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
770
พฤ 18 ม.ค. 2024 4:02 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 7 : ชนิดข้อมูล Table (2)
ภาษา Lua ตอนที่ 6 : ชนิดข้อมูล Table (1)
โดย worramaitk พฤ 18 ม.ค. 2024 3:34 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
345
พฤ 18 ม.ค. 2024 3:34 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 6 : ชนิดข้อมูล Table (1)
การใช้งานโปรแกรมเครื่องคิดเลขโอเพนซอร์ส Qalculate! สำหรับคำนวณสิ่งต่างๆ ในชีวิตประจำวัน
โดย worramaitk พฤ 18 ม.ค. 2024 3:10 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
244
พฤ 18 ม.ค. 2024 3:10 pm โดย worramaitk View Topic การใช้งานโปรแกรมเครื่องคิดเลขโอเพนซอร์ส Qalculate! สำหรับคำนวณสิ่งต่างๆ ในชีวิตประจำวัน
รีวิวเครื่องปริ้นสำนักงานที่ใช้กันหน่อยค่ะว่าดีไหม พอดีอยากได้เครื่องปริ้นใหม่ค่ะ
โดย Narisara พฤ 18 ม.ค. 2024 1:29 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
656
ศ 26 ม.ค. 2024 12:33 pm โดย noncup302 View Topic รีวิวเครื่องปริ้นสำนักงานที่ใช้กันหน่อยค่ะว่าดีไหม พอดีอยากได้เครื่องปริ้นใหม่ค่ะ
ภาษา Lua ตอนที่ 5 : ชนิดข้อมูล Number
โดย worramaitk พฤ 18 ม.ค. 2024 1:14 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
251
พฤ 18 ม.ค. 2024 1:14 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 5 : ชนิดข้อมูล Number
ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String
โดย worramaitk พฤ 18 ม.ค. 2024 12:32 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
217
พฤ 18 ม.ค. 2024 12:32 pm โดย worramaitk View Topic ภาษา Lua ตอนที่ 4 : ชนิดข้อมูล String