Tôi muốn nhận mã HTML của trang web được tải trong một webView
, phân tích cú pháp bằng cách sử dụng regex và chỉ hiển thị mã HTML mà tôi muốn, trong khi cho phép trang web vẫn cho rằng trang web đã tải mọi thứ.Có thể lấy mã HTML từ WebView
Có cách nào để thực hiện điều đó trong WebViewClient.onLoadResource()
hoặc các phương pháp tương tự không?
EDIT: Tôi cố gắng này:
class MyJavaScriptInterface
{
@SuppressWarnings("unused")
public void showHTML(String html, Context context)
{
new AlertDialog.Builder(context)
.setTitle("HTML")
.setMessage(html)
.setPositiveButton(android.R.string.ok, null)
.setCancelable(false)
.create();
pageHTML = html;
}
}
@Override
public void customizeWebView(final ServiceCommunicableActivity activity, final WebView webview, final SearchResult mRom) {
mRom.setFileSize(getFileSize(mRom.getURLSuffix()));
webview.getSettings().setJavaScriptEnabled(true);
MyJavaScriptInterface interfaceA = new MyJavaScriptInterface();
webview.addJavascriptInterface(interfaceA, "HTMLOUT");
WebViewClient anchorWebViewClient = new WebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
/* This call inject JavaScript into the page which just finished loading. */
webview.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
Pattern pattern = Pattern.compile("<h2>Winning Sc.+</h2></div>(.+)<br>", Pattern.DOTALL);
Matcher matcher = pattern.matcher(pageHTML);
matcher.find();
Giao diện không bao giờ được gọi là
@pageHTML = client.execute (pageGet, handler); khách hàng là gì? –
nevermind, HttpClient client = new DefaultHttpClient(); –
@Aymon Fournier- Cách tôi nhận được một số dòng mã nguồn html của trang web? nếu tôi nhận được trang nguồn đầy đủ nó có thể nhận được rất nhiều thời gian và tôi không cần phải nhận được tất cả các dòng, bạn có thể giúp tôi? thx rất nhiều –