Не нужно сожалеть о вашем английском! это прекрасно:)
android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1598)
Вышеуказанная ошибка возникает, когда ваше приложение пытается выполнить любую сетевую операцию в основном потоке.
Вы можете использовать приведенный ниже код для принудительного выполнения операции или создания отдельного потока и выполнения операции.
Вариант 1: форсирование
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT > 8)
{
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
//your codes here
}
Вариант 2: отдельная резьба
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// do something in here
}
});
thread.start();
Можно посмотреть на HTMLUnit. Это - основная цель, автоматическое веб-тестирование, но я думаю, что это может позволить Вам получить представленную страницу.
Ну, существует инструмент DumpRenderTree, который используется в качестве части наборов тестов WebKit. Я не уверен, насколько подходящий это для того, чтобы превращаться в автономный инструмент, но это делает то, что Вы просите (представьте HTML, выполните JavaScript и разгрузите его дерево рендеринга в диск).
Так как JavaScript может сделать довольно много манипуляций к объектной модели документа (DOM) веб-страницы, походит точно очищать содержание произвольной страницы, Вам было бы нужно к не, только выполняет механизм JavaScript, Вам также было бы нужно полное и точное представление DOM страницы. Это - что-то, что Вы только получите, если у Вас будет реальный механизм браузера, который инстанцируют. Возможно использовать встроенное, не - отобразил механизм WebKit или Геккона для этого, затем после подходящей задержки загрузки, чтобы допускать выполнение сценария, просто вывести содержание DOM в HTML-форме.
Мы использовали Носорога когда-то назад, чтобы сделать некоторое автоматизированное тестирование от Java. Кажется, что это сделает задание для Вас :)
я думаю, что существует пример кода для QT, который использует включенный WebKit для рендеринга страницы к пиксельной карте. оттуда к полному CLI утилита просто определяет Ваши потребности.
конечно, для большей части потребности анализа экранных данных Вы хотите текст, не пиксельная карта..., если это - то, что Вы хотите, лучше проверьте Носорога
Существует Механизм Кобры для Java (http://lobobrowser.org/cobra.jsp), который обрабатывает JavaScript (он также имеет рендерер, но это является дополнительным). Я никогда не использовал его, но услышал хорошие вещи, сказанные о нем.
Это - очень мало кода, чтобы иметь рендеринг веб-представления страница, ничего не отображая, но это должно быть приложение GUI. Они могут взять параметры командной строки также и скрыть окно. Используя WebKit непосредственно это могло бы быть возможно в инструменте.
Кроме сложного доступа DOM в Objective C WebKit может также ввести JavaScript, и вместе с jQuery, который делает для хорошего решения для очистки. Я не знаю ни о каком повсеместном применении, делающем это, все же.