【问题标题】:Can dotnetbrowser run on iis only?dotnetbrowser 只能在 iis 上运行吗?
【发布时间】:2017-03-27 11:54:15
【问题描述】:

https://www.teamdev.com/dotnetbrowser 是否只能在 IIS .NET 服务器上运行?我们希望:

1) 使用 ASP.NET 在某个用户操作时创建一个新线程

2) 将来自各种外部网站的各种 DOM 加载到实例中

3) 等待 30 秒,以便他们的图片轮播可以加载各种图片

4) 在等待的 30 秒内检查 DOM,以查看通过 Ajax 加载了哪些新图像

5) 记录这些图片的 URL

【问题讨论】:

    标签: jquery asp.net dotnetbrowser


    【解决方案1】:

    是的,您可以在 IIS 环境中使用屏幕外模式使用 DotNetBrowser。

    下一个示例展示了如何创建使用 DotNetBrowser 的基本 ASP.NET 控制器。

    public class BrowserController : Controller
    {
        private Browser dotNetBrowser;
    
        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);
    
            //Create off-screen browser instance
            dotNetBrowser = BrowserFactory.Create();
    
            //Subscribe to the web page loaded event
            dotNetBrowser.DocumentLoadedInFrameEvent += DotNetBrowser_DocumentLoadedInMainFrameEvent;
        }
    
        public ActionResult UrlHandle()
        {
            string url = "google.com"; //Set URL you need to load
            dotNetBrowser.LoadURL(url);
    
            return View();
        }
    
        private void DotNetBrowser_DocumentLoadedInMainFrameEvent(object sender, FrameLoadEventArgs frameLoadEventArgs)
        {
            //Get image references from DOM
            IEnumerable<string> imageReferences = dotNetBrowser.GetDocument()
                                                               .GetElementsByTagName("img")
                                                               .Select(element => (element as DOMElement)?.Attributes["src"]);
    
            foreach (string imageReference in imageReferences)
            {
                //Do whatever you need
                Console.WriteLine(imageReference);
            }
    
            //Dispose browser instance after all required actions
            dotNetBrowser.Dispose();
        }
    }
    

    您可以通过以下链接找到与您的目标相关的有用信息:

    资源处理 - https://dotnetbrowser.support.teamdev.com/support/solutions/articles/9000110154-handling-resources-loading

    Ajax 请求处理 - how to get ajax request response body using dotnetbrowser?

    【讨论】:

      猜你喜欢
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多