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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามเว็บโหลดช้า เก็บแคชแล้วแต่ก็ยังโหลดช้าเหมือนเดิม
โดย Thanapoom1514 พ 22 พ.ย. 2023 7:11 pm บอร์ด Joomla Development
10
2363
ศ 24 พ.ย. 2023 12:56 pm โดย mindphp View Topic สอบถามเว็บโหลดช้า เก็บแคชแล้วแต่ก็ยังโหลดช้าเหมือนเดิม
สอบถาม phpBB มีฟังก์ชั่นอะไรที่เรียกแสดงกลุ่มทั้งหมดไหมครับ
โดย flook พ 22 พ.ย. 2023 4:13 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
705
พ 22 พ.ย. 2023 4:39 pm โดย eange08 View Topic สอบถาม phpBB มีฟังก์ชั่นอะไรที่เรียกแสดงกลุ่มทั้งหมดไหมครับ
Seeking Advice on Nextcloud Hosting: VPS or Providers?
โดย veras อ 21 พ.ย. 2023 9:52 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
6
1403
อ 02 ม.ค. 2024 8:42 pm โดย Evalyra3 View Topic Seeking Advice on Nextcloud Hosting: VPS or Providers?
ติดตั้ง component gallery ใน Joomla 5 ขึ้นแจ้งไม่รู้จักคลาส JHtmlSidebar
โดย Thanapoom1514 อ 21 พ.ย. 2023 5:04 pm บอร์ด Joomla Development
2
1835
พฤ 07 ธ.ค. 2023 12:51 pm โดย Thanapoom1514 View Topic ติดตั้ง component gallery ใน Joomla 5 ขึ้นแจ้งไม่รู้จักคลาส JHtmlSidebar
ขอบคุณที่รับเป้นสมาชิกนะครับ
โดย BLPPOWER21 อ 21 พ.ย. 2023 3:21 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
479
อ 21 พ.ย. 2023 3:21 pm โดย BLPPOWER21 View Topic ขอบคุณที่รับเป้นสมาชิกนะครับ
รบกวนหน่อยครับ ช่วยแนะ code รวมผลลัพธ์แล้วไม่เกินที่กำหนด หน่อยครับ
โดย gamenfe จ 20 พ.ย. 2023 10:05 am บอร์ด Programming - PHP
0
811
จ 20 พ.ย. 2023 10:05 am โดย gamenfe View Topic รบกวนหน่อยครับ ช่วยแนะ code รวมผลลัพธ์แล้วไม่เกินที่กำหนด หน่อยครับ
VDO - วิธีการกำหนดค่า Customer Payment Term [ADMIN]
โดย MBMoo ศ 17 พ.ย. 2023 9:56 am บอร์ด PP systems (Main)
0
4
ศ 17 พ.ย. 2023 9:56 am โดย MBMoo View Topic VDO - วิธีการกำหนดค่า Customer Payment Term [ADMIN]
รีวิวคอมโน้ตบุ๊ค ASUS VIVOBOOK 16 โน้ตบุ๊คน้ำหนักเบาเอาไว้ทำงาน
โดย Thanapoom1514 พฤ 16 พ.ย. 2023 8:45 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
714
พฤ 21 ธ.ค. 2023 1:00 pm โดย prmindphp View Topic รีวิวคอมโน้ตบุ๊ค ASUS VIVOBOOK 16 โน้ตบุ๊คน้ำหนักเบาเอาไว้ทำงาน