抱歉交叉发布,这是我的问题:
我需要自动从网页下载多个zip文件。该页面位于我需要登录的站点内(启用HTTPS)。
该网页包含许多zip文件的直接链接。
当然,我成功登录并访问了网页,我还检测到所有锚点(a)带有绝对URL(hrefs)的元素。
我正在对一个anchor元素执行click()方法调用,看起来成功启动了下载。下载了超过200MB的数据,但不会保存在任何地方。
PhantomJS.exe进程的内存消耗正在增长,因此它显然将下载的数据保存到其私有内存空间中,但它永远不会丢弃磁盘上的数据(我怀疑这是正常的行为)。
所以,问题是,如何将下载的数据保存到磁盘?或者甚至更好,我如何指示phantomjs自动检测下载并将数据保存在磁盘上的预定义位置?
我将它与Selenium WebDriver .NET结合使用。
也发布在这里:https://groups.google.com/forum/#!topic/phantomjs/dJZPyJ0riPY
根据Artjom B.的评论进行编辑:
我确实创建了我的webdriver对象:
protected override RemoteWebDriver CreateRemoteWebDriver() {
//return new FirefoxDriver();
PhantomJSDriverService s = PhantomJSDriverService.CreateDefaultService();
s.LocalStoragePath = @"g:\downloads\data";
s.DiskCache = true;
s.LogFile = @"g:\downloads\data\phantom.log";
s.LoadImages = false;
s.IgnoreSslErrors = true;
return new PhantomJSDriver(s);
}
不幸的是,没有创建日志文件以外的数据..