หลังจากที่เราได้ศึกษาเกี่ยวบทความการใช้โมดูล Selenium (ซิลิเนี่ยม) ไหลายๆบทตวามแล้วเช่น การหา X path (เอกซ์พาท) ง่ายๆเพื่อนำไปใช้กับโมดูล Selenium (ซิลิเนี่ยม) , วิธีการดักจับเออเร่อบนหน้าเว็บระบบ OpenERP (โอเพ่นอีอาร์พี่) ด้วยโมดูล selenium (ซิลิเนียม) โดยใช้ภาษาไพธอน ไปกันบ้างแล้วในบทความนี้จะมาแนะนำการแก้ปัญหาเมื่อรีเฟรชหน้าเว็บเพจ แล้วเกิดเออเร่อขึ้นในโมดูล selenium (ซิลิเนียม)
ทำความรู้จักกับเมธอดรีเฟรชหน้าเว็บ ของโมดูล selenium (ซิลิเนียม)
โมดูล selenium (ซิลิเนียม) เป็น Software Testing Framework (ซอฟต์แวร์ เทสติ้ง เฟรมเวิร์ค) เอาไว้ใช้สำหรับทำ Automated Testing (ออโต้เมท เทสติ้ง) เขียน Test Case (เทส เคส) เพื่อทดสอบเว็บแอพพลิเคชั่น ในโมดูล selenium (ซิลิเนียม) นั้นจะมีเมธอดสำหรับการรีเฟรชหน้าเว็บเพจอยู่ด้วย แต่ก็มีข้อเสียอยู่อย่างนึงคือเมื่อทำการรีเฟรชหน้าเว็บแล้วถ้าหากสัญญาณอินตอร์เน็ตไม่มีก็จะทำให้เกิดเออเร่อขึ้นได้ดังนั้นในบทความนี้จะมาแนะนำโค้ดสำหรับการแก้ปัญหาข้อผิดพลาดในส่วนนี้
วิธีการแก้ปัญหารีเฟรชหน้าเว็บเพจด้วยโมดูล selenium (ซิลิเนียม) แล้วเกิดเออเร่อขึ้น
จากโค้ดด้านล่างนี้เราจะเราจะใช้ try และ except เพื่อแก้ปัญหาโดยเมื่อทำการรีเฟรชหน้าแล้ว ถ้าหากเกิดเอเร่อขึ่น โปรแกรมจะข้ามไปทำงานในส่วนของบล็อก except และวนในลูปตามเดิม
# -*- coding: utf-8 -*-
from selenium import webdriver #อิมพอร์ตโมดูล selenium
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Firefox(executable_path=r'C:\Users\BDC-CLUB\PycharmProjects\mdsoft\geckodriver.exe')
driver.get("https://www.google.co.th/") #เปิดหน้าเว็บกูเกิล
time.sleep(2)
while True:
try:
driver.refresh()#กดรีเฟรชหน้า
break
except:
pass #ผ่าน
time.sleep(2)
ผลการรัน:จะสังเกตุได้ว่าเมื่อการโหลดหน้าเว็บผิดพลาดโปรแกรมจะไม่หยุดทำงานทันที เพราะเราได้ทำการใช้งาน try และ except ไปแล้วโปรแกรมก็จะรีเฟรชหน้าไปเรื่อยๆ
สามารถศึกษาเพิ่มเติมได้จากบทความ