Мне нужно пропарсить веб страницу в java, на которой необходимо сперва залогиниться ввести пароль и тд. Читал в интернете , это делают через htmlunit.WebClient , но конкретно понятного примера не нашел. Может кто имел опыт работы с чем-то подобным и подскажет ,куда двигаться , какие библиотеки необходимы или мб скинет туториал . Hope for your Support !
Используйте Selenium Web Driver. Вам понадобится сам селениум, один из драйверов для браузера и сам браузер (популярные решения хром либо мазила). Насчет htmlunit - у него проблема с js-скриптами и соответственно возникают проблемы с сайтами, которые содержат динамический контент. Пример вытягивания страницы с помощью селениума и хрома в фоновом процессе (без отображения окна браузера):
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "path to chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
WebDriver driver = new ChromeDriver(options);
driver.get("http://yourURL:8080/#/login);
WebElement username = driver.findElement(By.id("userId"));
WebElement psw = driver.findElement(By.id("userPsw"));
username.sendKeys("myLogin");
psw.sendKeys("myPsw");
driver.manage().timeouts().implicityWait(5, TimeUnit.SECONDS);
//or
//WebDriverWait wait = new WebDriverWait(driver, 5);
//wait.until(ExpectedConditions.persenceOfElementLocated(By.cssSelector("someCssExpected")));
driver.findElement(By.linkText("Войти")).click();
System.out.println("Page source: " + driver.getPageSource());
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть строка с реквизитами вида AAA,BBBB,AAAAA И есть строка с реквизитами вида AAA, BBBB, AAAAA Так же бывают AAA,BBBB, AAAAA или AAA ,BBBB, AAAAA
Всем привет, в java я новичок, есть приложение на Spring Boot, поставлено на контейнере DockerПри запуске Томкат занимает 8080 порт, и Докер тоже висит...
Помогите решить задачу, в моем способе есть неразрешимая проблема