나는 Firefox 용 imacros free plugin을 사용하여 웹 사이트의 javascript 검색 양식에서 데이터를 긁습니다. 여기에 대한 결과 집합을 추출하는 현재 매크로의 분석이 나와 있습니다.imacros firefox loop through 결과 및 추출
아래 매크로의 일부는 자동으로 키워드 "superman"을 검색 양식에 입력합니다.
VERSION BUILD=8300326 RECORDER=FX
TAB T=1
URL GOTO=http://www.example.com/pricelist
FRAME F=1
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:/Pricelistsearchform/ ATTR=ID:Keyphrase CONTENT=superman
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:/Pricelistsearchform ATTR=NAME:SearchBarcode&&VALUE:Get<SP>Value
결과 목록이로드됩니다. 지금 목록에 나타나는 첫 번째 결과를 선택하려면 다음 XPath 식을 사용
TAG XPATH=id('SearchForm')/form/fieldset/table/tbody/tr[3]/td[1]/a
양식은 이제 선택한 제품의 이름과 가격으로 다시로드 내가이 데이터를 추출하기 위해이 두 XPATH 표현식을 사용 :
TAG XPATH=id('Results')/table/tbody/tr[2]/td[2] EXTRACT=TXT
TAG XPATH=id('Results')/table/tbody/tr[2]/td[4] EXTRACT=TXT
BACK
그런 다음 내 결과 목록으로 돌아 오는 BACK 문을 사용합니다.
이 모두가 목록의 첫 번째 결과 즉 '수퍼맨'을 추출하는 데 적합합니다. 그러나 내가 반복하고 긁어 모으기를 원하는 다른 많은 결과들이 있습니다 (수퍼맨 2, 수퍼맨 3, 수퍼맨 스페셜 에디션 e.t.c). 다중 결과는 다음과 같은 형식으로 나열되어 있습니다
TAG XPATH=id('SearchForm')/form/fieldset/table/tbody/tr[3]/td[1]/a ..i.e superman
TAG XPATH=id('SearchForm')/form/fieldset/table/tbody/tr[4]/td[1]/a ..i.e superman 2
TAG XPATH=id('SearchForm')/form/fieldset/table/tbody/tr[5]/td[1]/a ..i.e superman 3 ...etc
내가 한 번에이 결과에서 하나의 각을 선택하기 위해 루프를 사용하여 자신의 이름과 가격을 추출한 다음 돌아가서에서 다음 결과를 선택하고 싶습니다 목록 등등. 와일드 카드 (*) 기호와 {{! LOOP}} 문을 사용해야하지만 내 코드에서이를 구현하는 방법이나 자바를 사용해야하는지 여부는 확실하지 않습니다. 도움
감사하십시오! –