我正在尝试使用我大学的网站制作网络刮刀。
我在加载登录页面时遇到问题,因为它表示我认为自己没有启用javascript和Cookie。
WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getCookieManager().setCookiesEnabled(true);
// Sign In Page
final HtmlPage signInPage = webClient.getPage("https://eraider.ttu.edu/");
System.out.println(signInPage.getWebResponse().getContentAsString());
我收到以下消息:
此网站要求在您的网络浏览器中启用JavaScript和Cookie。我们无法确定您的浏览器是否启用了这些功能,因为META REFRESH失败了。您需要确保在浏览器的安全设置中启用了META REFRESH。如果您需要帮助,请致电806-742-HELP(4357)联系TTU IT服务台。
我无法弄清楚元刷新是什么。
更新:我尝试添加:
new WaitingRefreshHandler().handleRefresh(signInPage, new URL("https://eraider.ttu.edu/"), 10);
但仅在收到与之前相同的结果之前收到此信息:
Aug 24, 2014 9:28:54 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'application/x-javascript'.
Aug 24, 2014 9:28:55 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
Aug 24, 2014 9:29:05 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
使用HtmlUnit时,请使用WaitingRefreshHandler,并确保等到页面完全加载。使用Selenium Webdriver时,请参阅以下内容:
WebDriver driver = new ChromeDriver();
driver.get("https://raiderlink.ttu.edu");
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.elementToBeClickable(By.name(elementName)));