ฉันจะคัดลอกเนื้อหาข้อความของกล่องโต้ตอบบน OS X ได้อย่างไร


9

หลายคนไม่ทราบว่าใน Windows คุณสามารถคัดลอกเนื้อหาข้อความทั้งหมดของ MessageBox ได้โดยกดCtrl ⌃+ Cเมื่อมีการเน้นข้อความโต้ตอบ

นี่คือคุณสมบัติที่สำคัญสำหรับการรายงานข้อความผิดพลาดและในบางกรณีอาจมีขนาดใหญ่

ถึงกระนั้นก็ดูเหมือนว่าใน OS X, Command ⌘+ ที่Cไม่ทำงานและฉันสงสัยว่ามีวิธีอื่นในการทำเช่นนี้

การทำภาพหน้าจอไม่สะดวกโดยเฉพาะอย่างยิ่งไม่สามารถค้นหาได้: p

ฉันกำลังมองหาวิธีการแก้ปัญหาทั่วไปถ้ามันมีอยู่ นี่คือตัวอย่าง:

ป้อนคำอธิบายรูปภาพที่นี่


2
ในบางกรณีคุณสามารถเลือกข้อความด้วยเมาส์ / แทร็กแพดและเมื่อเลือกแล้วคุณสามารถคัดลอกข้อความได้ด้วย Cmd + C แต่น่าเสียดายที่ไม่สามารถทำได้เสมอไป
iolsmit

ดูเหมือนว่ามันขึ้นอยู่กับว่านักพัฒนาใช้กล่องโต้ตอบอย่างไร ใน Safari, Textmate และ Terminal กล่องโต้ตอบที่ฉันลองสามารถเลือกได้ทั้งหมด ฉันพยายามดูกล่องโต้ตอบเกี่ยวกับการส่งและข้อความไม่สามารถเลือกได้
badams

ตกลง ทุกอย่างขึ้นอยู่กับกล่อง ฉันสามารถเลือกกล่องข้อความบางกล่องได้ ทางออกที่ดีที่สุดของคุณคือเพียงแค่จับภาพหน้าจอของกล่องโต้ตอบ
daviesgeek

คำตอบ:


6

วิธีทั่วไปที่สุดคือการใช้ตัวตรวจสอบการเข้าถึงและคัดลอกข้อความจากหน้าต่าง

ใน Mac OS X v10.4 และใหม่กว่า Apple มีเครื่องมือทดสอบการเข้าถึงตัวตรวจสอบ ...

ผู้ตรวจสอบการเข้าถึงแสดงหน้าต่างยูทิลิตี้ที่แสดงคุณลักษณะ (และค่า) การกระทำและตำแหน่งในลำดับชั้นการเข้าถึงของวัตถุในปัจจุบันภายใต้ตัวชี้เมาส์ ในการใช้ตัวตรวจสอบการเข้าถึงให้แน่ใจว่าได้เปิดใช้งานแอพพลิเคชั่นช่วยเหลือในการตั้งค่าการเข้าถึงสากล

ไอคอนตัวตรวจสอบการเข้าถึง

นี่คือตัวอย่างของ Trim Enabler ที่คุณไม่สามารถเลือกและคัดลอกข้อความของแท็บ "เกี่ยวกับ":

Trim Enabler - เกี่ยวกับแท็บ

และหน้าต่างที่แสดงโดยผู้ตรวจสอบการเข้าถึง:

ตัวอย่างการตรวจสอบการเข้าถึง

นี่คือด้วยตัวชี้เมาส์โฉบเหนือข้อความยาวซึ่งสามารถพบได้ใน AXValue

แก้ไข 2014-10-18:

ตัวอย่างถัดไปแสดงขั้นตอนวิธีคัดลอกข้อความที่ไม่สามารถเลือกได้ด้วย Accessibility Inspector 4.0:

เปิดหน้าต่างที่จะดึงข้อมูลและเปิดตัวตรวจสอบการเข้าถึงจากนั้นเลื่อนตัวชี้เมาส์เหนือองค์ประกอบที่น่าสนใจ:

copy_text_with_Accessibility_Inspector

กดCommand ⌘+ 7เพื่อล็อคตัวตรวจสอบการช่วยสำหรับการเข้าถึงจากนั้นคลิกที่บรรทัดที่คุณต้องการคัดลอก (เช่น AXValue) และกดCommand ⌘+ Cเพื่อคัดลอกไปยังคลิปบอร์ด:

lock_Accessibility_Inspector_and_select_AXValue

วางข้อความที่คัดลอกเมื่อต้องการ:

ข้อความที่วาง


ฉันพยายามทำสิ่งนี้โดยใช้ตัวตรวจสอบการเข้าถึง แต่ไม่สามารถรับข้อความได้ คุณอธิบายขั้นตอนได้ไหม
Metal Gear

1
@MetalGear -> ฉันได้เพิ่มอีกตัวอย่างที่แสดงวิธีการคัดลอกข้อความที่ต้องการโดยใช้การตรวจสอบการเข้าถึง 4.0
iolsmit

1

กรณีทั่วไปคือโปรแกรมเมอร์ต้องการเปิดเผยข้อความนี้ในกล่องโต้ตอบโดยพื้นฐานการโต้ตอบดังนั้นคุณไม่สามารถคัดลอกข้อความได้ง่ายเว้นแต่ว่าโปรแกรมตั้งใจให้คุณมีฟังก์ชั่นนั้น

สิ่งที่คุณทำได้ แต่ดูเหมือนจะทำงานได้มากกว่าที่คุ้มค่าคือเปิดใช้งานการเข้าถึงแบบสากลที่สามารถส่งข้อความไปยังอุปกรณ์ภายนอกเช่นจอแสดงผลอักษรเบรลล์หรืออุปกรณ์เพื่อวัตถุประสงค์พิเศษอื่น ๆ

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

คุณทำสิ่งที่เป็นประโยชน์ได้แล้วถ่ายภาพและหวังว่าข้อความจะถูกบันทึกไว้ที่อื่นในไฟล์ข้อความ การลิงก์ไปยังคำถามนี้อาจเป็นวิธีที่ดีในการถามผู้พัฒนาโปรแกรมที่คุณต้องการความสามารถในการปรับเปลี่ยนการเขียนโปรแกรมเช่น Safari, Terminal และโปรแกรมอื่น ๆ ที่กล่าวถึงในความคิดเห็นด้านบน


0

คุณสามารถเรียกใช้สคริปต์เช่นนี้ใน AppleScript Editor:

tell application "System Events"
    value of UI elements of windows of process "Application Name"
end tell

หากคุณไม่เห็นข้อความในผลลัพธ์ให้ลองเพิ่มหนึ่งUI elements ofส่วนขึ้นไปหลังจากvalue ofนั้น

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