วิธีติดตั้ง Selenium และการใช้งานกับ Python

บทความนี้จะมาสอนวิธีลง Selenium IDE ใช้งานกับ Google Chrome ร่วมกับ Python เบื้องต้น โดยติดตั้งลงบน Windows มาเริ่มกันที่ก่อนอื่นให้เราไปโหลด Extension ของ Google Chrome ที่ https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd?hl=en

มาทดลองการใช้งานกันหน่อย โดยไปที่ Extension เลือก Selenium IDE

เลือก Create a new project และตั้งชื่อ project

ใส่เว็บ Facebook ไปทดสอบหน่อย กด START RECORDING

จะมาที่หน้าเว็บที่เราจะทดสอบก็จะเห็น Selenium IDE is recording อยู่ด้านขวาล่างสีแดงๆ ให้เรากรอก Username password

ในหน้าต่าง Selenium เราก็จะเห็น Command ต่างๆที่เราทำการบันทึกเกิดขึ้นเป็น Command เมื่อเราบันทึกเสร็จแล้วให้เรากดปุ่ม Stop recording ขวามือบน เราสามารถทดสอบการทำงานตามที่เราบันทึกไปได้โดยกดปุ่ม Play Run all tests ด้านซ้ายมือเพื่อทดสอบดูได้

เราสามารถ Export ออกมาเป็น Code เพื่อนำมาเขียนเงื่อนไขต่างๆเพื่อประยุกต์การใช้งานได้โดยการคลิกขวาที่ Test แล้วเลือก Export

จะเห็นว่าสามารถเลือกภาษาที่เราใช้งานได้ไม่ว่าจะเป็น C#, Java, Javascript, Python, Ruby โดยในที่นี้จะเลือกเป็น Python แล้วกด Export

ก็จะได้ Code Python มาตามด้านล่างนี้

# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class TestLogin():
  def setup_method(self, method):
    self.driver = webdriver.Chrome()
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def test_login(self):
    # Test name: login
    # Step # | name | target | value
    # 1 | open | https://www.facebook.com/ | 
    self.driver.get("https://www.facebook.com/")
    # 2 | setWindowSize | 974x1050 | 
    self.driver.set_window_size(974, 1050)
    # 3 | click | id=email | 
    self.driver.find_element(By.ID, "email").click()
    # 4 | click | id=email | 
    self.driver.find_element(By.ID, "email").click()
    # 5 | type | id=email | username
    self.driver.find_element(By.ID, "email").send_keys("username")
    # 6 | type | id=pass | pass
    self.driver.find_element(By.ID, "pass").send_keys("pass")
  

โดยก่อนใช้งาน Selenium กับ python เราจะต้องไปติดตั้ง pytest และ selenium โดยใช้คำสั่ง

pip install pytest
pip install selenium

แล้วก็ที่ขาดไม่ได้เลยก็คือ Chrome Driver
https://sites.google.com/a/chromium.org/chromedriver/home
เลือก ตัว Stable และเลือก Windows version

Unzip แล้วนำไปวางที่ Drive C:

ก่อนที่จะ run เราต้องแก้ไข code บรรทัดที่ 15 เป็น

self.driver = webdriver.Chrome(executable_path=r"C:\chromedriver.exe")

และเพิ่มบรรดทัดที่ 37 – 39

obj = TestLogin()
obj.setup_method(obj)
obj.test_login()

ก็จะกลายเป็นแบบนี้ save เป็นไฟล์ชื่อว่า test_login2.py

# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

class TestLogin():
  def setup_method(self, method):
    self.driver = webdriver.Chrome(executable_path=r"C:\chromedriver.exe")
    self.vars = {}
  
  def teardown_method(self, method):
    self.driver.quit()
  
  def test_login(self):
    # Test name: login
    # Step # | name | target | value
    # 1 | open | https://www.facebook.com/ | 
    self.driver.get("https://www.facebook.com/")
    # 2 | setWindowSize | 974x1050 | 
    self.driver.set_window_size(974, 1050)
    # 3 | click | id=email | 
    self.driver.find_element(By.ID, "email").click()
    # 4 | click | id=email | 
    self.driver.find_element(By.ID, "email").click()
    # 5 | type | id=email | username
    self.driver.find_element(By.ID, "email").send_keys("username")
    # 6 | type | id=pass | pass
    self.driver.find_element(By.ID, "pass").send_keys("pass")
  
obj = TestLogin()
obj.setup_method(obj)
obj.test_login()

แล้วเราลองนำ code นี้ไป run ดูใน command line

python test_login2.py

ก็จะเห็นว่าตัว Selenium จะทำการเปิด Chrome (จะเห็นว่ามีขึ้นว่า Chrome is being controlled by automated test software) แล้วทำงานตาม command ที่เราเขียนอัตโนมัติแล้วละ

ทำยังไงดี Google Chrome ไม่มีเสียง

แก้ยังไขยังไงดีทำอยู่ๆก็เปิด Youtube หรือ เปิดเพลงใน Google Chrome แล้วไม่มีเสียง ไม่ได้ยินเสียงอะไรเลย บทความนี้มีวิธีแก้ไขจ้า

หลายคนอาจจะเจอปัญหาเปิด Youtube หรือ เปิดเพลงใน Google Chrome แล้วไม่มีเสียง ไม่ได้ยินเสียงอะไรเลย ซึ่งสาเหตุอาจจะเป็น Bug ปัญหาจากโปรแกรมอื่นทำให้มีผลกระทบมาที่ Google Chrome
ส่วนวิธีแก้ไขนั้นให้ทำตามขั้นตอนนี้

ให้เราเปิดเพลงหรือ Youtube ใน Google Chrome ทิ้งไว้ก่อนเลยแล้วให้เราคลิกขวาไปที่ รูปลำโพงด้านขวามือล่าง

แล้วเลือกไปที่ Open Volume mixer

ก็จะเห็นรูป Google Chrome

ทำการเลื่อนปรับความดังขึ้นมา ก็จะพบว่ามีเสียงออกมาแล้ว

วิธีปิดไม่ให้ Google Chrome แสดงรูปภาพหรือวิดิโอในเว็บไซท์

สำหรับเพื่อนๆที่กำลังหาวิธีปิดไม่ให้ Google Chrome แสดงรูปภาพหรือวิดิโอในเว็บไซท์อยู่ ในบทความนี้มีวิธีการทำมาแนะนำ สามารถทำตามได้เลย

วิธีทำการปิดไม่ให้ Google Chrome แสดงรูปภาพหรือวิดิโอในเว็บไซท์นั้นก็สามารถทำได้ง่ายๆเลย โดยใช้ Extension ที่ชื่อว่า Images ON/OFF ซึ่งสามารถดาวโหลดได้ที่ URL นี้เลย
https://chrome.google.com/webstore/detail/images-onoff/nfmlhilnjccdggifdbhnhkffmjgalbgg

พอเราติดตั้ง Images ON/OFF แล้ว ให้เราดูที่มุมขวามือบนของ Google Chrome หากเราต้องการปิดการแสดงรูปภาพหรือวิดิโอในเว็บไซท์ให้เรากดที่ icon ของ Images ON/OFF ให้เปลี่ยนจากสีเขียวไปเป็นสีแดง

ตัวอย่างก่อนกดและหลังกดของ Images ON/OFF จะเห็นได้ว่ารูปภาพหรือวิดิโอในเว็บไซท์นั้นไม่มีการแสดงขึ้นมา

Images ON/OFF เป็นสีเขียว

หลังจากกด Images ON/OFF, Images ON/OFF เป็นสีแดง

วิธีทำให้ Google Chrome เปิดหน้าต่างที่ถูกปิดขึ้นใหม่

มีใครกำลังหาวิธีทำให้ Google Chrome เปิดหน้าต่างที่ถูกปิดขึ้นใหม่ กันอยู่บ้างไหม ถ้าใช่ บทความนี้มีวิธีจ้า
เพื่อนๆหลายคนอาจจะสังเกตเห็นว่าหลังจาก ที่ Google Chrome ออกเวอร์ชั่นใหม่มา ก็เอาเมนูที่เรียกว่า “Undo closed tab” หรือ “เปิดหน้าต่างที่ถูกปิดขึ้นใหม่” ออกไป จากที่เราเคยกดคลิกขวาที่ tab ที่เปิดเว็บนั้นๆได้ก็ไม่มีให้กด

แต่ที่จริงแล้ว Google Chrome “Undo closed tab” หรือ “เปิดหน้าต่างที่ถูกปิดขึ้นใหม่” ย้ายไปอีกที่หนึ่ง โดย จากเดิมที่เรากดคลิกขวาจาก tab ของเว็บ ก็ย้ายมากด พื้นที่ว่างๆข้างๆ tab ตามรูป ถึงจะมีเมนู “Undo closed tab” หรือ “เปิดหน้าต่างที่ถูกปิดขึ้นใหม่” ขึ้นมา

ตัวอย่างสำหรับ Google Chrome เวอร์ชั่นภาษาอังกฤษ

ตัวอย่างสำหรับ Google Chrome เวอร์ชั่นภาษาไทย

หรืออีกวิธีหนึ่งก็ใช้การกดคีย์ลัดได้เช่นกัน โดยกด Ctrl + Shift + T ก็จะเป็นการ ทำงาน “Undo closed tab” หรือ “เปิดหน้าต่างที่ถูกปิดขึ้นใหม่”

Export Bookmark หรือเว็บไซต์ที่เราเก็บไว้ในมือถือ Android ของเราเอาออกมาเก็บไว้

สำหรับใครที่กำลังหาวิธีดึงข้อมูล Bookmark หรือเว็บไซต์ที่เราเก็บไว้ใน Google Chrome ใน มือถือ Android ของเรา เอาออกมาเก็บไว้ใน PC ของเรา หรืออยากจะ Backup เก็บไว้ สามารถทำตามบทความนี้ได้เลย
ตัวอย่าง Bookmark ใน App Google Chrome ในมือถือของเรา

วิธีทำก็คือให้เราไปที่ PC ของเราแล้วไปที่ เว็บไซต์ http://takeout.google.com แล้วให้เราเข้าไป Download your data แล้วเลือก Google Chrome

เลือก Format ที่จะ Export ออกมา มีให้สามารถนำไปใช้ได้หลากหลาย

เลือกข้อมูลที่จะนำออกมา มีตั้งแต่ Autofill ไปจนถึง Browser History และที่สำคัญ Bookmark ที่เราต้องการก็อยู่ในนี้ด้วย พอเรากด OK ข้อมูลที่เราเลือกไว้ก็จะถูก Download ออกมาในไฟล์ Zip

ส่วนวิธีการนำเข้าข้อมูลไฟล์ Bookmark เข้า Google Chrome ใน PC ของเรา ก็ทำได้โดยแตกไฟล์ Zip ที่เราได้มาเมื่อกี้แล้ว ไปที่ Google Chrome บน PC เลือก Bookmarks แล้วก็ Import bookmarks and setting..

ทำการเลือก Bookmarks HTML File แล้วกดเลือกไฟล์

เลือกไฟล์ Bookmark.html เพียงแค่นี้ Bookmark ที่เก็บไว้ในมือถือเราก็เข้ามาอยู่ใน PC แล้วละ