Phantomjs缓存问题

时间:2017-06-22 04:22:28

标签: selenium selenium-webdriver phantomjs

我跟随This在MVC应用程序中获取网站的动态内容。

我已收到一次或两次数据,但之后我收到了错误 -

  

ApplicationCache driver.ApplicationCache引发了类型异常   ' System.InvalidOperationException' OpenQA.Selenium.Html5.IApplicationCache {System.InvalidOperationException}   信息:   驱动程序不支持操作HTML5应用程序缓存。使用HasApplicationCache属性测试驱动程序功能

1 个答案:

答案 0 :(得分:0)

您遇到的错误是由于PhantomJS无法在appCache中找到任何内容,因此会抛出此异常。请参阅基础代码here,其中包含

public IApplicationCache ApplicationCache
    {
        get
        {
            if (this.appCache == null)
            {
                throw new InvalidOperationException("Driver does not support manipulating the HTML5 application cache. Use the HasApplicationCache property to test for the driver capability");
            }

            return this.appCache;
        }
    }

原因是,为什么这将成为null,目前PhantomJS并不支持此应用程序缓存。此默认功能在PhantomJS代码中设置为false。您可以看到here,其中提及

 _defaultCapabilities{
      "applicationCacheEnabled" : false,
 }