下载使用加载微调器的网页源

时间:2016-02-23 17:19:10

标签: java http

我需要下载此网页的源代码:https://app.zonky.cz/#/marketplace/所以我可以让代码检查是否有新的贷款可用。不幸的是,网页在后台加载页面时使用加载微调器。当我尝试使用以下方式下载页面的来源时

String url = "https://app.zonky.cz/#/marketplace/";
    StringBuilder text = new StringBuilder();
    try
    {
        URL pageURL = new URL(url);            
        Scanner scanner = new Scanner(pageURL.openStream(), "utf-8");
        try {
            while (scanner.hasNextLine()){
                text.append(scanner.nextLine() + "\n");
            }
        }
        finally{
            scanner.close();
        }

    }
    catch(Exception ex)
    {
        //
    }        
    System.out.println(text.toString());

从显示微调器的那一刻起,我就获得了页面的来源。你知道更好的方法吗?

解决方案:

public static String getSource() {
    WebDriver driver = new FirefoxDriver();
    driver.get("https://app.zonky.cz/#/marketplace/");
    String output = driver.getPageSource();
    driver.close();
    return output;
}

1 个答案:

答案 0 :(得分:1)

你总是可以等到页面加载完成后检查一个元素是否存在(一个元素只在微调器消失后加载)

您还考虑过使用硒吗?它可以真正用于与网站交互和处理棘手的过程,如等待元素:P

编辑:可以在这里找到一个非常简单的Selenium等待教程 - http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits