กด Element บนเว็บไซต์ไม่ได้ ทำไงดี

by

ก่อนอื่นต้องบอกว่าเพ็ญก็ไม่มีความรู้การสร้างเว็บไซต์นะคะ

จำได้ว่าสมัยเรียนม.ต้น (ประมาณ 20 กว่าปีก่อน🤣) เคยเรียนเขียนเว็บไซต์จาก Notepad ตอนนั้นทำตัวหนังสือวิ่งได้ก็คือว้าวมากแล้ว ตอนนี้จำไม่ได้แล้วด้วยว่าเขียนยังไงต้องถาม google 😂

ใครอยากรู้ว่าเป็นยังไง ลอง copy code ด้านล่างไปวางใน Notepad แล้ว save เป็น .html ดูได้ค่ะ

<!DOCTYPE html>
<head>
    <title>PenBot Once in a Lifetime</title>
</head>
<body>
    <h1>ครั้งหนึ่งฉันเคยเขียนโค้ด</h1>
    <p>ตอนนั้นเรียนคอมแบบงงๆ ครูเก่งมาก สนุกดี</p>
    <marquee direction="left">สวัสดีชาวโลก เราเพ็ญ เป็นบอท</marquee>
</body>
</html>

กลับมาที่หัวข้อหลัก เรื่องการกด Element บนเว็บไซต์ต่างๆ ตามขั้นตอนด้านล่าง

  1. เปิดเว็บไซต์
  2. คลิก Link 1
  3. คลิก Link 2

อ่านขั้นตอนก็ดูปกติดี ไม่น่าจะมีปัญหาอะไร แต่มีคนทักมาถามเพ็ญว่าทำไมโรบอทไม่คลิกปุ่มให้ แล้วมีวิธีแก้ไขยังไงได้บ้าง

เพ็ญก็เลยลองเอาเว็บไซต์มาดูก็พบว่ามันมีรายละเอียดเล็กๆ น้อยๆ อยู่ นั่นคือ

  1. เปิดเว็บไซต์
  2. คลิก Link 1 (Browser จะเปิด Tab ใหม่ขึ้นมา ไม่แน่ใจว่าคนเขียนเว็บไซต์ตั้งค่าไว้แบบนั้นหรือเปล่า)
  3. คลิก Link 2 (คนต้องการให้โรบอททำงาน Tab ใหม่)

คราวนี้เราลองมาไล่ดูโค้ดใน Power Automate Desktop แล้วลองสังเกตพฤติกรรมของเว็บไซต์และการทำงานของโรบอทดูว่าทำไมถึงเกิด Error

ต้องการกดปุ่ม Export a report and save it to the disk

Failed Flow

ภาพด้านล่าง คือ โฟลว์ที่ไม่สามารถคลิกปุ่มได้

เราจะมาดูกันว่าเกิดอะไรขึ้น โดยการใส่ Wait 5 วินาที และใส่ Toggle Breakpoint ไว้ด้วย (บรรทัดที่ 3)

เมื่อโรบอทรันมาถึง Breakpoint มันจะหยุดทำงาน เราต้องกด Run อีกครั้ง เมื่อเรากดรันเราจะมีเวลา 5 วินาทีในการคลิก Browser มาดูว่าโรบอททำอะไรอยู่

จากภาพด้านล่าง สามารถเปิดเว็บไซต์, คลิก Link 1 ได้สำเร็จ และมี Tab ใหม่ขึ้นมาแล้ว

แต่พอกด Run แล้วเราไปคลิกดูว่าโรบอททำงานบน Browser ยังไง ปรากฏว่าโรบอทพยายามจะหา Element ใน Tab แรก

โรบอทกลับมาทำงานที่ Tab เดิม

ทำให้หา Element นั้นไม่เจอและเกิด error

Solved Flow 1

ทำให้โรบอทรู้จัก Tab ใหม่โดยการใช้ Launch new Chrome

ปรับ parameter ของ Launch new Chrome (บรรทัดที่ 3) ตามรูปด้านล่าง

แก้ไข Web browser instance ในคำสั่ง Click link on web page

Solve Flow 2

ลองเขียนไปก่อน รันได้เฉยเลย 😆

อันนี้คือไปใช้คำสั่งใน UI Automation แล้วคลิก Element ปกติเลยค่ะ

เมื่อก่อนเพ็ญเคยเขียนโปรแกรม Workfusion ถ้ามีกรณีที่เว็บไซต์เปิด Tab ใหม่ แล้วเราจะสั่งให้โรบอทไปทำงานที่ไหนก็จะต้องเขียน script ให้ถูกต้องด้วย เช่น

  • Switching to the last window
  • Switching to the next window
  • Switching to the previous window

ปัจจุบันพอมาใช้ Power Automate Desktop แล้วชีวิตดีขึ้นเลยค่ะ 😆

Tips

สำหรับคนที่ใช้ Google Chrome

การกด Left Click ส่วนใหญ่จะเป็นการเปิด browser ใน Tab เดิม

การกด Middle Click จะเป็นการเปิด browser ใน Tab ใหม่ (สามารถใช้การกด Ctrl + Left Click ก็ได้)

หวังว่าบทความนี้จะมีประโยชน์ไม่มากก็น้อย สำหรับคนที่เจอปัญหาคลิก Element บนเว็บไซต์ไม่ได้นะคะ

Video

Did You Enjoy this Article?

Subscription to get new articles sent to your inbox each week for FREE

Question?

If you have any questions or feedback about this article please leave a message in the comments section below.


Comments

Leave a comment

Subscribe to get new articles sent to your inbox each week for FREE