웹 브라우저 상자의 내용을 읽고 구문 분석<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />더 커스터마이징 된 JMP 애플리케이션의 일부로 대화 형 웹 사이트를 호출하는 웹 브라우저 상자가있는 윈도우를 여는 JMP 스크립트가 있습니다.
사용자가 몇 번 클릭하고 양식을 제출하면 결과 (동적) 웹 페이지가로드되고 필요한 데이터를 사용할 수 있습니다. (아무 AJAX 또는 유사한 웹 페이지의 평범한 HTML 그래서 내가 필요한 모든 포함되어 있습니다)하지만 불행히도 나는 "현재 웹 브라우저 콘텐츠"의 HTML을 읽고 파싱하는 방법을 찾을 수 없습니다.
URL을 사용하여 결과 웹 페이지에 직접 액세스 할 수 없기 때문에 "열린 함수"로 해결할 수 없습니다. 오른쪽 페이지는 양식이 POST 방법으로 제출되고 원본 웹 페이지 양식을 통해 서버에 업로드 된 파일이로드 된 후에 만로드됩니다.
나는이 서버 애플리케이션을 커스터마이징 할 수 없으며 최종 HTML을 파싱해야한다.
지금은 웹 브라우저에 결과를 표시하지만 나중에 JMP에서 추가 작업을 수행해야합니다.
HTML을 직접 들여다 보지 않으면 최소한 서버를 다시 실행하지 않아도 JMP로 읽을 수있는 형식으로 결과를 저장할 수있는 더 큰 보고서에서 웹 브라우저 콘텐츠를 사용할 수있는 저널 등을 만들어야합니다. 루틴
감사
다시 : 웹 브라우저 상자의 내용을 읽고 구문 분석웹 사이트가 HTTP GET 또는 HTTP 요청을 사용하는 경우 URL 끝 부분에 정보를 추가 할 수 있습니다 (예 : URL). ? name1 = value1 & name2 = value2
이 방법은 방법이 더 쉽지만이 경우 b / c라고 직접 가정하면 HTTP POST라고 직접 말합니다. JMP 사용 당신은 소켓 함수를 사용해야 할 것입니다. 같은 것 :
tCall << connect ( "URL", "80"); // 연결을 엽니 다. 80은 소켓이며 URL은 자체 설명입니다.
tCall << 보내기 (블로블 문자 ( "POST / HTTP / 1.0 ~ 0d ~ 0a ~ 0d ~ 0a", "ASCII ~ HEX")); // 보내는 내용
tMessage = tCall << Recv (1000); // 돌아 오는 것
텍스트 = Blob To Char (tMessage [3]); // 구문 분석
쇼 (텍스트);
tCall << 닫기 (); // 연결을 닫습니다.
더 많은 정보가 없으면 이것이 내가 당신을 도울 수있는 가장 큰 것입니다. 이러한 명령을 사용하면 진흙 투성이가 될 수 있지만 자세한 내용은 스크립팅 가이드 섹션 "JSL에서 소켓 사용"절을 참조하십시오.
다시 : 웹 브라우저 상자의 내용을 읽고 구문 분석msharp, 답변 주셔서 감사합니다. JMP가 브라우저 상자없이 첨부 된 파일과 함께 POST에서 HTTP 요청을 보낼 수있는 방법을 알고 계시겠습니까?
그렇다면 서버 응답을 저장하는 방법은 무엇입니까?
다시 : 웹 브라우저 상자의 내용을 읽고 구문 분석비슷한 문제가 발생했습니다. 내가 웹 브라우저 박스에 말할 수있는 것에서는 상호 작용보다는 디스플레이를위한 것이 더 많습니다.
JMP에는 웹과 상호 작용할 수있는 기능이 있으므로 사용자가 웹에서 볼 수있는 것과 동일한 JMP GUI를 만드는 것이 좋습니다. 이 정보를 사용하여 수행해야 할 작업을 수행하는 데 사용할 수있는 텍스트 파일 등을 만드십시오.