Может ли dotnetbrowser работать только на iis?

Может ли https://www.teamdev.com/dotnetbrowser работать только на сервере IIS .NET? Мы хотим:

1) Использование ASP.NET для создания нового потока при определенных действиях пользователя.

2) загружать различные DOM с различных внешних сайтов в экземпляры, если это

3) подождите 30 секунд для каждого, чтобы их карусели изображений могли загружать различные изображения

4) проверять DOM в течение этих 30 секунд ожидания, чтобы увидеть, какие новые изображения загружаются через Ajax

5) записать URL-адреса этих изображений

1 ответ

Да, вы можете использовать DotNetBrowser в среде IIS, используя внеэкранный режим.

В следующем примере показано, как создать базовый контроллер ASP.NET, использующий DotNetBrowser.

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 - как получить тело ответа на запрос ajax с помощью dotnetbrowser?

Другие вопросы по тегам