ตกลงวิธีของฉันคือขอให้ 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
tell application
?