กดปุ่ม next บนเว็บไซต์ด้วย Power Automate Desktop

by

ในบทความนี้จะแสดงการกดปุ่ม next บนเว็บไซต์ด้วย Power Automate Desktop สำหรับ 2 กรณี ดังนี้

  1. เว็บไซต์ที่หน้าสุดท้ายไม่มีปุ่ม “Next” ตัวอย่างเช่น Google
  2. เว็บไซต์ที่หน้าสุดท้ายมีปุ่ม “Next” แต่กดไม่ได้ได้

หน้าสุดท้ายไม่มีปุ่ม “Next”

สำหรับกรณีนี้ เราจะไปที่ Google แล้วพิมพ์คำว่า ‘sumi painting koshu’ ใน search bar แล้วกดปุ่ม Search

เมื่อผลลัพธ์การค้นหาแสดงขึ้นมาก็ใช้โรบอทคลิกปุ่ม “Next” แล้วนับจำนวนหน้าของ Google

Completed flow for scenario 1

Scenario 1: Last page not contain “Next button”

  1. Launch new Chrome: เปิด Chrome แล้วไปที่ Google เก็บไว้ในตัวแปรชื่อ ‘Browser
  2. Populate text field on web page: พิมพ์ข้อความ “sumi painting koshu” ใน Google search bar
  3. Press button on web page: คลิกปุ่ม “Google Search” เพื่อค้นหา
  4. Set variable: สร้างตัวแปรชื่อ ‘NextPage‘ แล้วตั้งค่าเป็น TRUE เพื่อใช้ในการวนลูป
  5. Set variable: สร้างตัวแปรอีกตัวชื่อ ‘PageCount‘ แล้วตั้งค่าเป็น 1 เพื่อใช้นับจำนวนหน้าของ Google
  6. Loop condition: ให้โรบอททำงานวนซ้ำไปเรื่อยๆ ถ้าตัวแปร ‘NextPage‘ มีค่าเป็น TRUE
  7. If web page contains: ตรวจสอบว่า web page มีปุ่ม “Next” หรือไม่
  8. Click link on web page: ถ้ามีปุ่ม “Next” ให้คลิกปุ่ม “Next” เพื่อไปหน้าถัดไป
  9. Increase variable: เพิ่มค่าตัวแปร ‘PageCount‘ ไป 1
  10. Else: ถ้าไม่มีปุ่ม “Next” ให้ออกจาก loop
  11. End: แสดงว่าจบ loop และจบ if
  12. Display message: แสดงกล่องข้อความตัวแปร ‘PageCount‘ ว่ามีจำนวนหน้าเท่าไร

หน้าสุดท้ายมีปุ่ม “Next” แต่กดไม่ได้

สำหรับกรณีนี้เราจะไปที่เว็บไซต์ SE-ED books ซึ่งใส่คำค้นไปแล้วว่า “โยคะ” เมื่อ copy URL ออกมาตัวอักษรภาษาไทยจะถูกเข้ารหัสเป็นตัวอักษรภาษาอังกฤษ ตัวเลขและสัญลักษณ์ % ถ้าเราเอา URL ที่ copy มาไปใส่ที่ Power Automate Desktop เลยจะเกิด Error เพราะโปรแกรมคิดว่าสิ่งที่อยู่ระหว่าง % เป็นตัวแปร ดังนั้นต้องแทนที่ % ด้วย %%

ถ้า Copy URL นี้ไปจะมีตัวอักษรที่ถูกเข้ารหัส ต้องแปลง % เป็น %% ก่อน

ใช้โรบอทคลิกปุ่ม “Next” แล้วนับจำนวนหน้าของ SE-ED ไปจนถึงหน้าสุดท้ายที่คลิกไม่ได้

Completed flow for scenario 2

Selectors of UI element “Anchor ‘>’” which select “Class” and not select “Class”

Scenario 2: Last page contain “Next button” but cannot click

  1. Launch Chrome : เปิด Chrome แล้วไปที่เว็บไซต์ SE-ED books ที่ค้นหาคำว่า “yoga” ไว้แล้ว เก็บไว้ในตัวแปรชื่อ ‘Browser
  2. Set variable: สร้างตัวแปรชื่อ ‘NextPage‘ แล้วตั้งค่าเป็น TRUE เพื่อใช้ในการวนลูป
  3. Set variable: สร้างตัวแปรอีกตัวชื่อ ‘PageCount‘ แล้วตั้งค่าเป็น 1 เพื่อใช้นับจำนวนหน้าของเว็บไซต์
  4. Loop Condition: ให้โรบอททำงานวนซ้ำไปเรื่อยๆ ถ้าตัวแปร ‘NextPage‘ มีค่าเป็น TRUE
  5. Wait for web page content: รอจนกว่าหน้าเว็บจะมีปุ่ม “Next” ปรากฏ
  6. If web page contains: ตรวจสอบว่า web page มีปุ่ม “Next” ที่มี Class “next” หรือไม่
  7. Click link on web page: ถ้ามีปุ่ม “Next” ที่มี Class “next” ให้คลิกปุ่ม “Next” เพื่อไปหน้าถัดไป
  8. Increase variable: เพิ่มค่าตัวแปร ‘PageCount‘ ไป 1
  9. Else: ถ้าไม่มีปุ่ม “Next” ที่มี Class “next” ให้ออกจาก loop
  10. End: แสดงว่าจบ loop และจบ if
  11. Display message: แสดงกล่องข้อความตัวแปร ‘PageCount‘ ว่ามีจำนวนหน้าเท่าไร

สามารถ copy source code ของบทความนี้ได้จาก link ด้านล่างแล้วนำไปวางที่ Workspace ของ Power Automate Desktop ได้เลย

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