Tôi đang sử dụng đơn vị Html để truy cập trang web, điền vào một số biểu mẫu và nhấp vào nút để truy cập trang web tiếp theo. Trang web mới đó, (được gọi là newPage trong mã của tôi) là những gì tôi đang trích xuất nguồn html từ đó.Android: Lỗi CSS khi sử dụng đơn vị HTML & Eclipse
Phương pháp này hoạt động hoàn hảo trong Netbeans (mặc dù nó không đưa ra một số tiền quá nhiều cảnh báo)
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();
}
}
Tuy nhiên, trong Eclipse chạy Android, nó nói
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
trong logcat.
Ngoài ra, nó không đặt văn bản của message2 là html Tôi muốn mặc dù khi tôi thử điều này trong Netbeans và in "html" trên thực tế, in toàn bộ nguồn html của trang!
Tóm lại, có 2 vấn đề. Eclipse không thành công khi nhận được html, và nó đưa ra một lỗi nói rằng không thể tìm thấy lớp CSSCharsetRule. Tôi nghĩ rằng tôi đã nhập khẩu thích hợp .jar cho điều này, nhưng tôi không chắc chắn vì HTML Unit đi kèm với khoảng 15 .jars và tôi không thể nhập tất cả nếu không ứng dụng gặp sự cố trong trình mô phỏng và điện thoại.
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).
Tuy nhiên, bây giờ tôi gặp một
"Chuyển đổi sang Dalvik Format Không với Lôi 1"
Lỗi.
Có thể bất kỳ vấn đề nào sẽ gây ra giá trị Null của html và cách khắc phục Lỗi chuyển đổi Dalvik?
.jar Eclipse (quá nhiều làm cho ứng dụng nặng, và bao gồm xml-apis gây Dalvik Lỗi)
file Jar trong Netbeans (làm việc)
ý nghĩa nhập để thêm chúng vào đường dẫn xây dựng trong Eclipse *. Ngoài ra, thêm JUnit là một trong những lọ giúp. – Kgrover