के लिए प्रतीक्षा नहीं करता है मेरे पास एक GWT आधारित पृष्ठ है जिसे मैं HtmlUnit का उपयोग कर इसके लिए एक HTML स्नैपशॉट बनाना चाहता हूं। पृष्ठ किसी उत्पाद पर अजाक्स/जावास्क्रिप्ट जानकारी का उपयोग करके लोड करता है, इसलिए लगभग 1 सेकंड के लिए लोड हो रहा है ... संदेश और फिर सामग्री प्रकट होती है।HTMLUnit जावास्क्रिप्ट
समस्या यह है कि HtmlUnit जानकारी को कैप्चर नहीं कर रहा है और मुझे जो कुछ मिल रहा है वह "लोड हो रहा है ..." अवधि है।
नीचे एचटीएमएलयूनीट के साथ एक प्रयोगात्मक कोड है जहां मैं डेटा लोड करने की प्रतीक्षा करने के लिए पर्याप्त समय देने की कोशिश करता हूं लेकिन ऐसा कुछ भी नहीं लगता है और मैं अभी भी जीडब्ल्यूटी जावास्क्रिप्ट द्वारा लोड किए गए डेटा को कैप्चर करने में असमर्थ हूं ।
WebClient webClient = new WebClient();
webClient.setJavaScriptEnabled(true);
webClient.setThrowExceptionOnScriptError(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
WebRequest request = new WebRequest(new URL("<my_url>"));
HtmlPage page = webClient.getPage(request);
int i = webClient.waitForBackgroundJavaScript(1000);
while (i > 0)
{
i = webClient.waitForBackgroundJavaScript(1000);
if (i == 0)
{
break;
}
synchronized (page)
{
System.out.println("wait");
page.wait(500);
}
}
webClient.getAjaxController().processSynchron(page, request, false);
System.out.println(page.asXml());
कोई विचार ...?
मुझे यह टिप्पणी करना है। एक ही समस्या थी और पूरे कोड को डीबग करने की कोशिश कर रहा था .. इसके लिए बहुत बहुत धन्यवाद। –
हाय। आईई के बावजूद FIREFOX का उपयोग करके मुझे एक ही समस्या है, पेज अब लगभग ठीक से लोड हो जाता है, लेकिन फिर भी मैं अटक गया हूं ... लोड हो रहा है ...संदेश, यह लगभग 9 सेकंड होना चाहिए, कोड के आपके हिस्से का भी उपयोग किया जाना चाहिए और कुछ भी नहीं :(कृपया – silvestrairwave
मदद करें! धन्यवाद, जब तक मुझे आपकी टिप्पणी नहीं मिली, मैंने डीबगिंग पर कई घंटे खो दिए हैं! – kotslon