웹 사이트를 구문 분석 (보안)하고 미리 채워진 정보로 내 단어 문서를 설정하려고합니다. 검색을 사용 2 부 : javascript에서 applescript로 변수 전달하기
- : 나는 3 단계를 고려
나는 첫 번째 파가 작동하고 추출 스크립트가 작동합니다. jquery (사이트에서 사용하지 않음)를 첨부해야하고 호출하고 두 번 연결한다는 것을 알았지 만 javascript에서 appescript로 매개 변수 하나를 전달하는 방법을 알지 못합니다.
어쨌든, 내 문제는 내가 applescript에서 빈 변수를 얻을 수 있지만 자바 스크립트 부분이 아주 잘 작동합니다 (나는 테스트하고 올바른 값을 얻음).
findMe가 appescript 변수로 반환하는 javascript 값을 얻는 방법에 대한 조언을 주셔서 감사합니다. 또한 멋진 스크립트가 될 수있는 두 가지 인수를 사용하여 스크립트를 단순화하는 방법도 알려줄 수 있습니다.
to getClaimFile(needle)
tell application "Safari"
set input to do JavaScript "
(function() {
function loadScript(url, callback) {
var script = document.createElement('script')
script.type = 'text/javascript';
if (script.readyState) { //IE
script.onreadystatechange = function() {
if (script.readyState == 'loaded' || script.readyState == 'complete') {
script.onreadystatechange = null;
findMe('" & needle & "')
}
};
} else { //Others
script.onload = function() {
findMe('" & needle & "')
};
}
script.src = url;
document.getElementsByTagName('head')[0].appendChild(script);
}
loadScript('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', function() {
//jQuery loaded
console.log('jquery loaded');
});
})();
function findMe(squery) {
return $('iframe#app_win').contents().find('iframe#app_subwin').contents().find('label:contains('+squery+')').parent().next('td').text()
}
" in current tab of window 1
end tell
return input
end getClaimFile
set claimNum to getClaimFile("Claim #:")
set fileNum to getClaimFile("File Number:")
log claimNum
log fileNum