В настоящее время при использовании инструмента веб-поиска htmlunit я собираюсь производить модульные тесты с помощью захвата Java и доступа к небольшому строящемуся веб-сайту.Код можно найти здесь для веб-сайта !
Я также размещу используемый код Java, в настоящее время я понимаю, что время нужно ждать, и я могу отключить сообщения об ошибках, которыевсплывающее окно для:
Фев.11, 2019 22:50:10 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error ПРЕДУПРЕЖДЕНИЕ: ошибка CSS: 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css' [6:10] Ошибка в правиле стиля.(Недопустимый токен "-". Ожидалось одно из:,,, "}", ";", "*".) 11 февраля 2019 г. 22:50:10 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning ПРЕДУПРЕЖДЕНИЕ: CSSпредупреждение: 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css' [6:10] Игнорирование следующих объявлений в этом правиле.11 февраля 2019 22:50:11 com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error ПРЕДУПРЕЖДЕНИЕ: ошибка CSS: 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css' [6: 22403] Ошибка в выражении.(Недопустимый токен "". Ожидал одного из:, "наследовать",,,,,,,,,,,,,,,,,,,,,,,,,,,, progid:..) 11 февраля, 2019 22:50:11 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error ПРЕДУПРЕЖДЕНИЕ: ошибка CSS: 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css' [6: 23772] Ошибка в выражении.(Недопустимый токен "". Ожидал одного из:, "наследовать",,,,,,,,,,,,,,,,,,,,,,,,,,,, progid:..) 11 февраля, 2019 22:50:11 PM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error ПРЕДУПРЕЖДЕНИЕ: ошибка CSS: 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css' [6: 24174] Ошибка в выражении.(Неверный токен "". Ожидалось одно из:, "наследовать",,,,,,,,,,,,,,,,,,,,,,,,,,, "progid:".) ПРЕДУПРЕЖДЕНИЕ: CSSошибка: 'https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css' [6: 101786] Ошибка в выражении.(Недопустимый токен "". Ожидал одного из:, "наследовать",,,,,,,,,,,,,,,,,,,,,,,,,,,, progid:..) 11 февраля, 2019 22:50:11 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify ПРЕДУПРЕЖДЕНИЕ. Обнаружен устаревший тип содержимого: 'text / javascript'.
Проблема заключается в том, что текст не создается после того, как это произошло, иЯ понятия не имею, почему или как это исправить, и я не могу найти его в Интернете.Используя htmlUnit 2.31, веб-сайт, который я использую, использует React, HTML, загрузочный CSS, и вот мой java-код, закомментированный в нескольких строках, но он все равно никогда не получает никакого текста.
Моя цель - иметь возможностьзагрузить мой веб-сайт и очистить HTML, CSS и JavaScript, созданные в конечном файле, и иметь возможность просматривать его в файле.Это работает правильно для других сайтов, и я могу получить сообщения об ошибках
Я пробовал разные вопросы на StackOverflow, пробовал сайт htmlunit, их документацию, а также комментировал строки, которые показывают ошибки, но ни одногоэто фактически решает проблему того, почему текст вообще не отображается.В настоящее время работает Windows 7 64bit с NodeJS для загрузки моего реагирования на порт 3000.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileOutputStream;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.BrowserVersion;
public class Scraper
{
private String outputLocation, websiteLocation;
private File output;
public Scraper()
{
outputLocation = "C:/Users/MonPC/Desktop/School/SOEN/SOEN 341 Software Process'/Project/cssd/testing/Result.html";
websiteLocation = "http://localhost:3000/";
output = new File(outputLocation);
}
public Scraper(String websiteLocation, String outputLocation)
{
this.outputLocation = outputLocation;
this.websiteLocation = websiteLocation;
output = new File(outputLocation);
}
public boolean scrap()
{
PrintWriter filewriter = null;
boolean success = false;
WebClient client = new WebClient(BrowserVersion.CHROME);
try
{
filewriter = new PrintWriter(new FileOutputStream(output));
// turn off htmlunit warnings
//java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.OFF);
//java.util.logging.Logger.getLogger("org.apache.http").setLevel(java.util.logging.Level.OFF);
//client.getOptions().setJavaScriptEnabled(true);
//client.getOptions().setCssEnabled(true);
//client.getOptions().setUseInsecureSSL(true);
//client.waitForBackgroundJavaScript(100 * 1000);
HtmlPage page = client.getPage(websiteLocation);
filewriter.println(page.asXml());
System.out.println(page.asXml());
success = true;
}
catch (FileNotFoundException fnf)
{
System.out.println("File was moved or deleted during the write process");
}
catch (IOException ioe)
{
System.out.println("Couldn't connect to the website or had issues opening up default browser");
ioe.printStackTrace();
}
finally
{
if (filewriter != null)
filewriter.close();
return success;
}
}
public String getOutputLocation()
{
return outputLocation;
}
public String getWebsiteLocation()
{
return websiteLocation;
}
public File getOutput()
{
return output;
}
}