Ben PhantomJS ile daha HtmlUnit'in ilk bir web sayfasının html kaynağını almaya çalışıyordu ile web sitesinde yürütülmez, ancak her iki beni başarısız oluyor. Aldığım sayfa kaynağı Javascript ile doludur, uygulanmadığı anlaşılıyor. Gerçekten neler olduğunu anlayamıyorum. Denedim HtmlUnit'in sürümü:JavaScript HtmlUnit'in ve PhantomJS
webClient = new WebClient(BrowserVersion.FIREFOX_38);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.waitForBackgroundJavaScript(10000);
webClient.getOptions().setThrowExceptionOnScriptError(true);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
HtmlPage page = webClient.getPage("https://www.flickr.com/search/?text=cats&view_all=1");
webClient.close();
System.out.println(page.asXml());
phantomJS versiyon: Birisi bana burada yardımcı olabilir
File phantomjs = Phanbedder.unpack();
DesiredCapabilities dcaps = new DesiredCapabilities();
dcaps.setJavascriptEnabled(true);
dcaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, phantomjs.getAbsolutePath());
dcaps.setCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
driver = new PhantomJSDriver(dcaps);
driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);
driver.get("https://www.flickr.com/search/?text=cats&view_all=1");
System.out.println(driver.getPageSource());
minnettar olurdu. Teşekkürler.
, neden sadece bir HTTP lib veya JSoup kullanmıyorsun? Çok daha hızlı, daha kolay ve daha güvenilir olacak. –
Hayır, görüntü bağlantıları almak için Javascript kaynaklı bir kaynak istiyorum. – Jhonny
Tamam, soruyu açıklığa kavuşturmaya değebilir. Ayrıca, aldığınız hataları/çıktıları lütfen bildirin. 'İdam edilmiyor gibi görünüyor 'çok yararlı değil. –