我需要下载此网页的源代码: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;
}
答案 0 :(得分:1)
你总是可以等到页面加载完成后检查一个元素是否存在(一个元素只在微调器消失后加载)
您还考虑过使用硒吗?它可以真正用于与网站交互和处理棘手的过程,如等待元素:P
编辑:可以在这里找到一个非常简单的Selenium等待教程 - http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits