का उपयोग करते समय सीएसएस त्रुटि मैं वेबपृष्ठ पर जाने के लिए एचटीएमएल यूनिट का उपयोग कर रहा हूं, कुछ रूपों को भरता हूं, और अगले वेबपृष्ठ पर जाने के लिए बटन क्लिक करता हूं। वह नया वेबपृष्ठ, (जिसे मेरे कोड में नया पेज कहा जाता है) वह है जिसे मैं HTML स्रोत निकाल रहा हूं।एंड्रॉइड: एचटीएमएल यूनिट और ग्रहण
इस विधि Netbeans में पूरी तरह से काम करता है (हालांकि यह चेतावनी की अत्यधिक मात्रा में देता है)
import org.jsoup.Jsoup;
/* Regular (textview, button, etc) imports */
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
String username = "USERNAME", school = "SCHOOL", userpassword = "PASSWORD";
HtmlElement loginName = null;
HtmlElement password = null;
//HtmlPage newPage;
HtmlAnchor anchorByHref = null;
try {
WebClient webClient = new WebClient();
final HtmlPage page = webClient
.getPage("https://cupertino.schoolloop.com/portal/login?d=x&return_url=1325402408153");
loginName = page.getElementByName("login_name");
password = page.getElementByName("password");
loginName.setTextContent(username);
loginName.setAttribute("value", username);
password.setAttribute("value", userpassword);
password.setTextContent(userpassword);
anchorByHref = page
.getAnchorByHref("javascript:document.form.event_override.value='login';document.form.submit();");
HtmlPage newPage = anchorByHref.click();
webClient.waitForBackgroundJavaScript(10000);
String html = newPage.getWebResponse().getContentAsString();
message2.setText(html);
} catch (Exception e) {
e.printStackTrace();
}
}
हालांकि, ग्रहण में एंड्रॉयड चल रहा है, यह logcat में कहते हैं
01-02 17:38:54.099: E/dalvikvm(23163): Could not find class 'org.w3c.dom.css.CSSCharsetRule', referenced from method com.gargoylesoftware.htmlunit.javascript.host.css.CSSCharsetRule.getCharsetRule
।
इसके अलावा, यह एचटीएमएल के रूप में message2 के पाठ निर्धारित नहीं करता है मैं चाहता हूँ हालांकि जब मैं इस Netbeans में और प्रिंट "html" कोशिश यह वास्तव में पेज का पूरा html स्रोत मुद्रित करता है!
संक्षेप में, 2 समस्याएं हैं। ग्रहण सफलतापूर्वक एचटीएमएल प्राप्त नहीं कर रहा है, और यह एक त्रुटि दे रहा है जिसमें सीएसएस चार्ससेट नियम नहीं मिला। मुझे लगता है कि मैंने इसके लिए उपयुक्त .jar आयात किया है, लेकिन मुझे यकीन नहीं है क्योंकि एचटीएमएल यूनिट लगभग 15 .jars के साथ आता है और मैं उन्हें अन्य आयात नहीं कर सकता अन्यथा एप्लिकेशन को एमुलेटर और फोन में परेशानी होती है।
I have figured out that the error was due to not importing xml-apis-1.3.04.jar (which was imported in the Netbeans Project).
हालांकि, अब मैं
त्रुटि एक
"त्रुटि 1 के साथ विफल रूपांतरण Dalvik के लिए प्रारूप" मुठभेड़।
क्या यह संभव है कि किसी भी समस्या से एचटीएमएल के शून्य मूल्य का कारण होगा, और मैं Dalvik रूपांतरण त्रुटि को कैसे ठीक करूं?
ग्रहण .jar (बहुत अधिक एप्लिकेशन भारी बनाता है, और सहित एक्सएमएल-apis Dalvik त्रुटि का कारण बनता है) Netbeans में (कार्य)
जार फ़ाइलों
ईक्लीप्स * में निर्माण पथ में जोड़ने के लिए आयात का अर्थ है। इसके अलावा, ज्युनिट को जार में से एक के रूप में जोड़ने में मदद मिली। – Kgrover