วิธีรับ URL ของรูปภาพที่เลือกในรูปภาพ Google


0

ฉันเขียนเวิร์กโฟลว์อัตโนมัติซึ่งจะแนบไฟล์รูปภาพขนาดเล็กของ Google สามารถเลือกได้ในเมนูบริบทหรือเปิดใช้งานฮอตคีย์

ตอนนี้ฉันกำลังพยายามหาว่าวัตถุชนิดใดที่เห็น Automator เมื่อฉันคลิกขวาที่รูปภาพในซาฟารี ฉันลองเว็บเนื้อหารูปภาพเอกสารทุกอย่าง แต่ไม่มีอะไรทำงาน

ฉันพยายามทำสิ่งต่างๆเช่นรับเอกสารเปิดซาฟารี + โหลดรูปภาพจากเนื้อหาเว็บ แต่ไม่ใช่กรณีของฉัน

เป็นไปได้หรือไม่หากต้องการเพิ่มตัวเลือกเมนูตามบริบทให้กับรูปภาพ Google?

คำตอบ:


0

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

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

ดูรหัสด้านล่างสำหรับรายละเอียด

tell application "Safari"
set result to (do JavaScript " 
               function f() 
               { 
                   var imageHolderElements =  document.getElementsByClassName('_aOd rg_ilm'); 
                   for (var i = 0; i < imageHolderElements.length; i++) 
                   { 
                       var style = getComputedStyle(imageHolderElements[i], null); 
                       var display = style.getPropertyValue('display'); 
                       if (display == 'block') 
                       { 
                           var src = imageHolderElements[i].parentNode.getAttribute('href'); 
                           var parameter = 'imgurl='; 
                           var index = src.indexOf(parameter) + parameter.length; 
                           console.log(index); 
                           var result = src.substring(index, src.length); 
                           console.log(result); 
                           var paramDelim = result.indexOf('&'); 
                           if (paramDelim > 0){ 
                                var result_result = ''; 
                               result_result = result.substring(0, paramDelim); 
                           } 
                           console.log(result_result); 
                           return result_result; 
                       } 
                   }
               } 
                var x = 1; 
               var x = '' + f(); x" in current tab of first window) as string
return result
end tell

คุณแน่ใจหรือว่ารหัสที่วางถูกต้องรวมถึง \ n และคำพูดที่หลบหนีหลังจากนั้นtell application?
nohillside

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