การคลิกอัตโนมัติของ Applescript ในเบราว์เซอร์ Google Chrome?


9

สวัสดีเพื่อนโปรแกรมเมอร์

ฉันต้องการบันทึกรหัสแอปพลิเคชันบางตัวเป็นแอปพลิเคชันดังนั้นเมื่อฉันเปิดแอปพลิเคชันมันจะไปที่ Google Chrome และรับสายเรียกเข้าใน Google Voice

ฉันจะให้บัญชี gmail ของฉันเปิดอยู่แล้วในเบราว์เซอร์ chrome ดังนั้นทั้งหมดที่จำเป็นสำหรับแอปพลิเคชัน applescript เพื่อแจ้งให้ Google chrome เปิดใช้งานจากนั้นคลิกในพื้นที่เฉพาะ (ซึ่งปุ่มจะปรากฏขึ้น) เพื่อรับสาย

ฉันจะค้นหาพิกัดของตำแหน่งที่ฉันต้องการให้คลิกเมาส์ได้อย่างไร เพราะฉันกำลังสร้างแอปพลิเคชันแยกต่างหากให้คลิกที่อื่นและวางสาย

ใครช่วยบอกฉันได้ว่าฉันจะเขียนโค้ดนี้ใน applescript ได้อย่างไร หรือมีวิธีที่ง่ายกว่า

รหัสต่อไปนี้คล้ายกับสิ่งที่ฉันพบและใช้งานได้ แต่ฉันไม่แน่ใจว่าจะคลิกที่ไหน ...

tell application "Safari" to activate
tell application "System Events"
   tell process "Safari"
   click at {300, 100} -- {from left, from top}
   end tell
end tell

ขอบคุณสำหรับเวลา -Sebastian

คำตอบ:


11

คุณยังสามารถคลิกองค์ประกอบด้วย JavaScript:

tell application "Google Chrome" to tell active tab of window 1
    execute javascript "document.getElementById('chrome-web-store-title').click()"
    --execute javascript "document.querySelectorAll('.tile-grid .most-visited')[3].click()"
end tell

การมุ่งเน้นแท็บที่มีอยู่ตาม URL:

tell application "Google Chrome"
    repeat with w in windows
        set i to 1
        repeat with t in tabs of w
            if URL of t starts with "https://mail.google" then
                set active tab index of w to i
                set index of w to 1
                return
            end if
            set i to i + 1
        end repeat
    end repeat
end tell

2

ดูเหมือนว่าจะคลิกขวา 300 พิกเซลและลดลง 100 พิกเซลจากมุมซ้ายบน (ฉันไม่แน่ใจว่าเป็นมุมบนซ้ายของหน้าจอหรือหน้าต่าง Safari ... ) คุณสามารถค้นหาตำแหน่งที่กดได้Shift- Command- 4จากนั้นเลื่อนขนไขว้จนกว่าหมายเลขสูงสุดคือ 300 และ ตัวเลขด้านล่างเป็น 100 escapeคุณสามารถกำจัดขนข้ามโดยการกด จากนั้นคุณสามารถระบุตำแหน่งที่คุณต้องการให้สคริปต์คลิกและเปลี่ยนตัวเลขในสคริปต์ให้ตรงกัน


1
ขอบคุณสำหรับทางลัด daviewales! ปัญหาเดียวก็คือการคลิกดูเหมือนว่าจะทำงานภายในขอบเขตของ BROWSER เอง ... ในขณะที่ฉันสามารถคลิกและเปิดแท็บใหม่คลิกไฟล์ปุ่มรีเฟรช แต่ไม่มีปุ่มใด ๆ บนเว็บไซต์จริง ทางออกใด ๆ ?
seba1685

ฉันเพิ่งทดสอบและพบว่าฉันสามารถคลิกที่อีเมลใน Gmail และปุ่มต่างๆในหน้าแรกของ Google ได้ แต่ฉันไม่สามารถคลิกที่ปุ่มใดก็ได้ในหน้าต่าง Google Talk
daviewales

1

ง่ายมากคุณสามารถทำได้ในห้าขั้นตอน!

  1. เปิดตัวแก้ไขแอปพลิเคชัน

  2. คลิก Record

  3. เปิด Finder และเปิดใช้งาน Google Chrome

  4. คลิกStopหรือวงกลมที่มีรูปหกเหลี่ยมอยู่ด้านหน้า

  5. กดCmd+ Sและหน้าต่างจะปรากฏขึ้น - บันทึกสคริปต์ของคุณเป็นแอปพลิเคชันและคลิกวงกลมที่มีคำว่า "เริ่มต้น" ถัดจากมัน

Epilogue: รีสตาร์ท Mac ของคุณและดู Chrome ปรากฏขึ้นอย่างมหัศจรรย์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.