Ну,
Надеюсь, вы найдете этот ответ "несколько полезным".Я говорю «несколько» в первую очередь потому, что не могу дать полный ответ на ваше затруднительное положение, поскольку я не работал с библиотекой Selenium WebDriver.Я лично написал довольно большой HTML-парсер для поиска и просмотра HTML-страниц.Реальность библиотек Java - библиотек, включенных в выпуски Java от Sun Micro-Systems, - заключается в том, что в их состав не входит «Библиотека выполнения сценариев Java».«ScriptEngineManager» - это пакет, который я никогда раньше не использовал.В мою защиту, есть множество дополнительных библиотек в Java Framework, которые я не кодировал.
Что важно, так это то, что я проделал большую работу по анализу, поиску и копированию HTML, CSS, Java-Script, AJAX в библиотеку Java.Вы можете посмотреть его здесь, и он имеет цель, аналогичную проекту под названием «JSoup», который существует довольно долго, но в нем отсутствуют некоторые из моих функций.(JSoup Scrape Link: JSoup.org и Torello.HTML: developer.torello.directory )
Помощь, которую я могу предоставить, заключается в том, что вам нужно подуматьцель вашего проекта (которая не так хорошо прояснена вашим вопросом!) - чтобы решить, какую из этих дополнительных библиотек вы хотите использовать.
Если вы действительно хотите начать выполнять JavaScript (который яне рекомендуем, если только вам это не нужно), вам необходимо просмотреть «Библиотеки Selenium Web Driver».Эта библиотека на порядок сложнее, и, как правило, если вы просто пытаетесь получить несколько фрагментов данных с веб-сайта, то идете с простым пакетом очистки или гибридом, где вы делаете вызовы Java и что-то вроде «симуляции».«AJAX и JSON обращаются к веб-серверу - это правильная идея.Как правило, толпа Selenium из того, что я видел в SO, обычно больше интересуется автоматизированной публикацией и взаимодействием с веб-сайтами, что требует использования библиотек исполнения Selenium Java-Script.
Если вы просто хотите получить доступ к статическимсодержание вы можете попробовать что-то простое, как в следующем кодеЯ опубликую его, используя Torello.HTML, но, очевидно, вы также можете использовать библиотеку JSOUP.Если вы просто заинтересованы в получении HTML и самого контента и готовы написать Java-код для выполнения любых ваших целей в Java - исключая Java-Script - тогда это должно быть просто замечательно.Опять же, если вы пытаетесь выполнить повторяющиеся запросы, которые взаимодействуют с веб-сервером, и вам обязательно нужно использовать Java-скрипт на этой странице, повторно отправьте свой вопрос и попробуйте задать вопрос об использовании Selenium Web-Driver.
import Torello.HTML.*;
import Torello.HTML.NodeSearch.*;
import Torello.Java.FileRW;
import java.util.*;
import java.io.*;
public class Scrape
{
public static void main(String[] argv) throws IOException
{
String html = FileRW.loadFileToString("Example.html");
Vector<HTMLNode> page = HTMLPage.getPageTokens(html, false);
Vector<HTMLNode> divContent = InnerTagGetInclusive.first
(page, "div", "id", TextComparitor.EQ_CI_TRM, "k");
System.out.println(
"Entire <DIV ...> Element:\n" +
Util.pageToString(divContent) + "\n\n" +
"DIV Element Contents:\n" +
Util.textNodesString(divContent));
}
}
Вот вывод, сгенерированный описанным выше (кратким) примером поиска и очистки HTML-класса Java:
Entire <DIV ...> Element:
<div style="display:none;visibility:hidden;" id="k">+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]))</div>
DIV Element Contents:
+((!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!+[]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(+[])+(!+[]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]))/+((!+[]+!![]+!![]+!![]+[])+(!+[]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![])+(+!![])+(!+[]+!![]+!![]+!![])+(!+[]+!![])+(!+[]+!![]+!![]+!![]+!![]+!![]+!![]+!![])+(!+[]+!![]))