ข้อผิดพลาด AppleScript“ ไม่สามารถรับรายการเมนู”


1

ฉันต้องการความช่วยเหลือในการแก้ไขข้อผิดพลาดนี้:

ข้อผิดพลาด "เหตุการณ์ระบบมีข้อผิดพลาด: ไม่สามารถรับรายการเมนู \" ล้างประวัติ ... \ "เมนู \" Safari \ "ของแถบเมนู 1 กระบวนการ \ \ Safari \" หมายเลข -1728 จากรายการเมนู "ล้างประวัติ ... " ของเมนู "Safari" ของแถบเมนู 1 กระบวนการ "Safari"

รหัสของฉันคือ:

tell application "Safari"
    launch
    activate
    if not (exists document 1) then
        make new document at front
    end if
end tell
delay 1
tell application "System Events"
    keystroke "e" using {option down, command down}
    tell process "Safari"
        tell menu bar 1
            tell menu "Safari"
                tell menu item "Clear History..."
                    click
                    every UI element
                end tell
            end tell
        end tell
        tell window 1
            tell sheet 1
                tell button "Clear History"
                    click
                end tell
            end tell
        end tell
        tell menu bar 1
            tell menu bar item "Develop"
                tell menu 1
                    click menu item "Empty Caches"
                end tell
            end tell
        end tell
    end tell
end tell

ฉันยังห่างไกลจากการเป็นผู้เชี่ยวชาญในเรื่องนี้ แต่ฉันค่อนข้างแน่ใจว่าคุณจะต้องดูที่ AXMenuItems เพื่อให้สามารถกดคำสั่งเมนูเฉพาะโดย Applescript อย่างที่ฉันทำในคำตอบนี้ - apple.stackexchange.com/a/209219/85275 - โชคดีมากกว่าการจัดการที่ดีพาฉันไปที่นั่น แต่มันอาจจะมีประโยชน์สำหรับคุณ
Tetsujin

จะใช้งานได้หรือไม่เพราะนี่ไม่ใช่ตัวเลือก Check / Uncheck
LearningtoCode

นั่นฉันไม่แน่ใจอย่างแน่นอน - แต่ฉันคิดว่าคุณต้องการโครงสร้างนั้นเพื่อค้นหาตัวเลือกเมนูในตอนแรก รายการ "เมนู" x "ของรายการเมนูที่ 1 จาก…" ฯลฯ มีความสำคัญ แต่ - & amp; เป็นส่วนหนึ่งที่ฉันไม่เข้าใจอย่างแท้จริงว่ามีโครงสร้างอย่างไร Googling ของฉันพาฉันไปไกล & amp; กว้างในขณะที่พยายามหาคำตอบนั้น
Tetsujin

เพื่อชี้แจง: คุณต้องการคลิก Clear History และ Empty Caches ขวา?
Arc676

ใช่ถูกต้อง. โดยทั่วไปฉันต้องการรีเซ็ตซาฟารี ซึ่งกำลังล้างแคชและล้างประวัติ
LearningtoCode

คำตอบ:


2

ฉันคิดว่าคุณต้องสร้างรายการเมนู "ล้างประวัติและข้อมูลเว็บไซต์ ... " ไม่ใช่ "ล้างประวัติและข้อมูลเว็บไซต์ ... " (ตัวละครวงรีเดียว: "... " กับสามช่วงเวลา: "... "

ฉันไม่ได้ทดสอบสคริปต์ทั้งหมด แต่การเปลี่ยนแปลงนี้ทำให้รายการเมนูใน Safari สำหรับฉันผ่าน AppleScript

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