Skip to content

jackpatcher/pythonFillGform

Repository files navigation

โปรแกรมกรอกฟอร์มอัตโนมัติ Google Forms

โปรแกรม Web Scraper ที่ช่วยกรอกฟอร์ม Google Forms อัตโนมัติโดยอ่านข้อมูลจาก Google Sheets

📋 ความต้องการของระบบ

Software ที่ต้องติดตั้ง:

Operating System ที่รองรับ:

  • ✅ Windows 10/11
  • ✅ macOS 10.14+
  • ✅ Ubuntu 18.04+

🚀 การติดตั้งโปรแกรม

วิธีที่ 1: Clone จาก GitHub

# Clone repository
git clone https://github.com/jackpatcher/pythonFillGform.git
cd pythonFillGform

# สร้าง virtual environment
python -m venv .venv

# เปิดใช้งาน virtual environment
# สำหรับ Windows:
.venv\Scripts\activate
# สำหรับ Mac/Linux:
source .venv/bin/activate

# ติดตั้ง dependencies
pip install -r requirements.txt

วิธีที่ 2: ดาวน์โหลดไฟล์โดยตรง

  1. ดาวน์โหลดไฟล์ fillform.py และ requirements.txt
  2. วางไฟล์ในโฟลเดอร์เดียวกัน
  3. เปิด Terminal/Command Prompt ที่โฟลเดอร์นั้น
  4. รันคำสั่ง:
# สร้าง virtual environment
python -m venv .venv

# เปิดใช้งาน virtual environment
# สำหรับ Windows:
.venv\Scripts\activate
# สำหรับ Mac/Linux:
source .venv/bin/activate

# ติดตั้ง dependencies
pip install -r requirements.txt

วิธีที่ 3: ติดตั้งแบบ Manual

# ติดตั้งแพ็คเกจทีละตัว
pip install selenium==4.15.2
pip install webdriver-manager==4.0.1
pip install pandas==2.1.3
pip install openpyxl==3.1.2
pip install pyperclip==1.8.2

▶️ การรันโปรแกรม

สำหรับผู้ใช้ Windows:

# เปิด Command Prompt หรือ PowerShell
cd path\to\your\project
.venv\Scripts\activate
python fillform.py

สำหรับผู้ใช้ Mac/Linux:

# เปิด Terminal
cd /path/to/your/project
source .venv/bin/activate
python fillform.py

หรือรันโดยตรง (ถ้าไม่ใช้ virtual environment):

python fillform.py

🔧 การแก้ไขปัญหาการติดตั้ง

ปัญหา: Python ไม่พบ

Windows:

# ติดตั้ง Python จาก Microsoft Store หรือ
py -m pip install -r requirements.txt

Mac:

# ติดตั้งผ่าน Homebrew
brew install python

ปัญหา: pip ไม่พบ

# อัปเดต pip
python -m pip install --upgrade pip

ปัญหา: ChromeDriver

โปรแกรมจะดาวน์โหลด ChromeDriver อัตโนมัติ แต่ถ้ามีปัญหา:

  1. ตรวจสอบว่าติดตั้ง Chrome แล้ว
  2. ลองรีสตาร์ทโปรแกรม
  3. ตรวจสอบ internet connection

ปัญหา: Permission Denied (Mac/Linux)

# ให้สิทธิ์รันไฟล์
chmod +x fillform.py

ปัญหา: pyperclip บน Linux

# ติดตั้ง clipboard support
sudo apt-get install xclip  # สำหรับ Ubuntu/Debian
# หรือ
sudo yum install xclip      # สำหรับ CentOS/RHEL

🧪 ทดสอบการติดตั้ง

รันคำสั่งนี้เพื่อทดสอบว่าติดตั้งสำเร็จ:

python -c "import selenium, webdriver_manager, pandas, pyperclip; print('✅ ติดตั้งสำเร็จ!')"

📦 รายการแพ็คเกจที่ติดตั้ง

แพ็คเกจ เวอร์ชัน หน้าที่
selenium 4.15.2 ควบคุมเบราว์เซอร์
webdriver-manager 4.0.1 จัดการ ChromeDriver
pandas 2.1.3 จัดการข้อมูล
openpyxl 3.1.2 อ่านไฟล์ Excel
pyperclip 1.8.2 อ่าน/เขียน clipboard

วิธีการใช้งาน

ขั้นตอนที่ 1: เตรียมข้อมูล

  1. เปิด Google Sheets ที่มีข้อมูลที่จะกรอก
  2. เลือกข้อมูลที่ต้องการ (1 แถว หรือ 1 คอลัมน์)
  3. กด Ctrl+C (หรือ Cmd+C บน Mac) เพื่อคัดลอก

ขั้นตอนที่ 2: รันโปรแกรม

python fillform.py

ขั้นตอนที่ 3: ใส่ URL ของฟอร์ม

ขั้นตอนที่ 4: ตรวจสอบข้อมูล

  • โปรแกรมจะแสดงข้อมูลที่คัดลอกมา
  • กด Enter เพื่อเริ่มกรอกฟอร์ม

คุณสมบัติ

รองรับช่องกรอกข้อมูลประเภทต่างๆ:

  • ✅ ช่องกรอกข้อความ (Text input)
  • ✅ ช่องกรอกอีเมล (Email input)
  • ✅ ช่องกรอกเบอร์โทร (Phone input)
  • ✅ ช่องกรอกข้อความยาว (Textarea)
  • ✅ ปุ่มเลือก (Radio buttons)
  • ✅ ช่องติ๊ก (Checkboxes)
  • ✅ รายการแบบเลื่อนลง (Dropdown/Select)

คุณสมบัติพิเศษ:

  • 🔄 อ่านข้อมูลจาก clipboard อัตโนมัติ
  • 🎯 ตรวจจับช่องกรอกข้อมูลอัตโนมัติ
  • 🛡️ จัดการข้อผิดพลาดอย่างปลอดภัย
  • ⏱️ หน่วงเวลาให้เหมาะสม
  • 🖱️ ควบคุมการส่งฟอร์มได้

ตัวอย่างรูปแบบข้อมูลใน Google Sheets

แบบแถวนอน (คัดลอกแถว):

ชื่อ    นามสกุล    อีเมล              เบอร์โทร     เพศ
สมชาย  ใจดี       somchai@email.com  081-234-5678  ชาย

แบบแถวตั้ง (คัดลอกคอลัมน์):

สมชาย
ใจดี
somchai@email.com
081-234-5678
ชาย

หมายเหตุสำคัญ

⚠️ ข้อควรระวัง:

  • ข้อมูลต้องเรียงตามลำดับช่องในฟอร์ม
  • สำหรับ Radio buttons: ใส่ข้อความที่ตรงกับตัวเลือก
  • สำหรับ Checkboxes: ใส่ "ใช่", "true", "1" เพื่อเลือก
  • โปรแกรมจะหยุดรอให้ยืนยันก่อนส่งฟอร์ม

💡 เคล็ดลับ:

  • ทดสอบกับข้อมูลน้อยๆ ก่อน
  • ตรวจสอบว่าข้อมูลถูกกรอกถูกต้องก่อนส่ง
  • สามารถกด 'q' เพื่อออกก่อนส่งฟอร์ม

การแก้ไขปัญหา

ปัญหาที่พบบ่อย:

  1. ไม่พบข้อมูลใน clipboard: ตรวจสอบว่าคัดลอกข้อมูลแล้ว
  2. ช่องไม่ถูกกรอก: ข้อมูลอาจไม่ตรงกับประเภทช่อง
  3. เบราว์เซอร์ไม่เปิด: ตรวจสอบการติดตั้ง Chrome

การปรับแต่ง:

  • แก้ไขความเร็วในการกรอก: เปลี่ยน time.sleep(0.5)
  • รันแบบไม่แสดงเบราว์เซอร์: GoogleFormFiller(headless=True)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published