나는, 내 인생, 장비는이 사이트 잡기 위해 HtmlUnit과 수 없습니다HtmlUnit을 사용할 수없는 사이트입니까?
을 내가 백그라운드에서 실행 스크립트의 광대 한 양의 상관이 확신 해요. 아마도 이러한 스크립트에 충분한로드 시간이 주어지지 않았습니까?
나는 또한 단순히 bing.com/travel을 잡아 봤지만 성공하지 못했습니다. 그것은 새로운 HtmlPage 클라이언트의 getPage 함수를 깨뜨리고 있습니다.
출력은 runtimeErrors의 과다 ("이 작업을 완료하는 데 필요한 데이터는 아직 제공되지 않습니다"), 누락에 대한 던져 같은 SOURCENAME ("http://www.bing.com/travel/jsxc.vjs?a=common&v=5.5.0-1278007084280")
다음몇 가지 예외에 대한 모든 "을 (제공 이 자바 스크립트를 호출 bing.com에 몇 스크립트에서. 그런 다음
"다음 갑자기 종료됩니다.
나는이 다른 사람들이 볼 수 없습니다 수있는 문제의 소수가 될 수 실현하고있다 그렇다면 제안이 없다면, 누군가 자신의 Ht의 테스트 구현을 통해이 두 사이트를 펌핑 할까? mlUnit을 사용하여 XML 또는 텍스트 결과의 기본 출력을 얻을 수 있는지 확인하십시오. 나는 여기서 멋진 것을하려고하지 않고 단지 결과의 기본 텍스트 나 XML 출력을 얻는다.
다른 사람의 구현이 작동하는지 알면 편리하므로 배심원 단속을 완료 할 수 있습니다.
CODE :
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.WebClient;
public class test {
public static void main(String[] args) throws Exception {
WebClient client = new WebClient();
System.out.println("webclient loaded");
HtmlPage currentPage = client.getPage("http://www.bing.com/travel/flight/flightSearch?form=FORMTRVLGENERIC&q=flights+from+SLC+to+BKK+leave+07%2F30%2F2010+return+08%2F11%2F2010+adults%3A1+class%3ACOACH&stoc=0&vo1=Salt+Lake+City%2C+UT+%28SLC%29+-+Salt+Lake+City+International+Airport&o=SLC&ve1=Bangkok%2C+Thailand+%28BKK%29+-+Suvarnabhumi+International&e=BKK&d1=07%2F30%2F2010&r1=08%2F11%2F2010&p=1&b=COACH&baf=true");
client.waitForBackgroundJavaScript(10000);
System.out.println("htmlpage init'd");
//System.out.println(currentPage.getTitleText());
String textSource = currentPage.asXml();
System.out.println(textSource);
}
}
감사합니다!
아니라 아들을 ... 감사합니다! 는 그래서 가치를 겪고있다 오류 및 경고를 수정하십시오. 페이지가 나오면 그만한 노력을 기울일 가치가 없습니다. –
많은 정보를 기록한 것부터입니다. HtmlUnit 테스트에서 일반적인 것으로, 콘솔은 미친 듯이 분출합니다 페이지가 나오면 걱정할 필요가 없습니다. –
그냥 그 라인을 추가하는 것이 실제로 작동하는지 확인하고 싶습니다. 나도 같은 문제를 겪고있다. 페이지로드 중에 쓸모없는 JS 컨텐트를로드한다는 오류가 발생한다. 그런 다음 자동 양식 제출 중에 JS 콘텐츠를 아직 사용할 수 없다는 오류가 발생합니다. 같은 로그가 계속 나타나지만 최소한 throw 된 RuntimeException은 전체 실행을 중지합니다. 그러나로드 된 JS가 처음부터 양식 입력 및 제출을 완료하는 데 필요하지 않기 때문에 생각합니다. –