diff --git a/Wabbajack.Lib/Downloaders/MediaFireDownloader.cs b/Wabbajack.Lib/Downloaders/MediaFireDownloader.cs index 32c279e5..2cbb4757 100644 --- a/Wabbajack.Lib/Downloaders/MediaFireDownloader.cs +++ b/Wabbajack.Lib/Downloaders/MediaFireDownloader.cs @@ -50,18 +50,11 @@ namespace Wabbajack.Lib.Downloaders private async Task Resolve() { - using (var d = await Driver.Create()) - { - await d.NavigateTo(new Uri(Url)); - // MediaFire creates the link after all the JS loads - await Task.Delay(1000); - var newURL = await d.GetAttr("a.input", "href"); - if (newURL == null || !newURL.StartsWith("http")) return null; - return new HTTPDownloader.State(newURL) - { - Client = new Common.Http.Client(), - }; - } + var client = new Common.Http.Client(); + var body = await client.GetHtmlAsync(Url); + var node = body.DocumentNode.DescendantsAndSelf().First(d => d.HasClass("input") && d.HasClass("popsok") && + d.GetAttributeValue("aria-label", "") == "Download file"); + return new HTTPDownloader.State(node.GetAttributeValue("href", "not-found")); } public override IDownloader GetDownloader() diff --git a/Wabbajack.Lib/WebAutomation/WebAutomation.cs b/Wabbajack.Lib/WebAutomation/WebAutomation.cs index d906c968..a077c830 100644 --- a/Wabbajack.Lib/WebAutomation/WebAutomation.cs +++ b/Wabbajack.Lib/WebAutomation/WebAutomation.cs @@ -14,6 +14,7 @@ namespace Wabbajack.Lib.WebAutomation public Driver() { + _browser = new ChromiumWebBrowser(); _driver = new CefSharpWrapper(_browser); }