Может ли 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?