ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

                               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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วลีภาษาอังกฤษยอดนิยมในแวดวง IT: สำหรับผู้เริ่มต้นเรียนรู้ภาษาอังกฤษด้านไอที
โดย PhoorichayaM พ 07 ต.ค. 2020 2:51 pm บอร์ด Share Knowledge
0
156
พ 07 ต.ค. 2020 2:51 pm โดย PhoorichayaM
สอบถามวิธีเช็ค log
โดย nai_cyp พ 07 ต.ค. 2020 1:28 pm บอร์ด Programming - C/C++ & java & Python
0
255
พ 07 ต.ค. 2020 1:28 pm โดย nai_cyp
5 ศัพท์ไอทีพื้นฐานที่ควรรู้ เพื่อความเข้าใจที่มากขึ้น
โดย PhoorichayaM พ 07 ต.ค. 2020 12:56 pm บอร์ด Share Knowledge
0
193
พ 07 ต.ค. 2020 12:56 pm โดย PhoorichayaM
ประโยชน์ของ Google Translate ที่คุณอาจจะยังใช้ไม่ครบ
โดย PhoorichayaM พ 07 ต.ค. 2020 12:10 pm บอร์ด Share Knowledge
0
199
พ 07 ต.ค. 2020 12:10 pm โดย PhoorichayaM
คำแนะนำถึงการเป็นแบบอย่างที่ดีเรื่องการเงินในครอบครัว
โดย medalezga พ 07 ต.ค. 2020 12:01 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
235
พ 07 ต.ค. 2020 12:01 pm โดย medalezga
เจอปัญหา ในการติดตั้งคำสั่ง sudo composer global require laravel/installer ที่เปิดด้วย Command Terminal
โดย makup พ 07 ต.ค. 2020 11:48 am บอร์ด Programming - PHP
4
320
พ 07 ต.ค. 2020 12:31 pm โดย makup
ขอสอบถามวิธีการ บันทึก File ที่เปิดด้วยคำสัง vi ~/.bashrc ใน Command Terminal
โดย makup พ 07 ต.ค. 2020 11:35 am บอร์ด Programming - PHP
4
267
พ 07 ต.ค. 2020 12:13 pm โดย makup
7 เหตุผลที่ 'ควร' มี MA Service
โดย PhoorichayaM พ 07 ต.ค. 2020 11:12 am บอร์ด Share Knowledge
0
211
พ 07 ต.ค. 2020 11:12 am โดย PhoorichayaM