我已经准备好了使用EO.WebBrowser从页面中使用EO.WebView请求获取html的代码:
var cookie = new EO.WebBrowser.Cookie("cookie", "value");
cookie.Path = path;
cookie.Domain = domain;
var options = new BrowserOptions();
options.EnableWebSecurity = false;
Runtime.SetDefaultOptions(options);
var request = new Request(url);
request.Cookies.Add(cookie);
webView.LoadRequestAndWait(request);最后,我使用以下方法获得所需的HTML:
webView.GetDOMWindow().document.body.outerHTML我的问题是,这是非常慢的,虽然我可以让它在本地运行,但我不能让它在Azure服务器代码上运行。有没有一种使用HttpWebRequest做同样事情的方法?
发布于 2015-02-23 15:31:35
不,HttpWebRequest (和其他类似的"get“)方法只会给出HTML本身,不会在页面上运行JavaScript。
对于动态HTML的服务器端处理,请考虑使用适当的headless internet browser?,而不是试图说服普通IE在没有UI的情况下正确工作。
发布于 2017-04-25 14:36:47
您可以使用JavaScript:
var data = (string)webView.EvalScript("document.body.outerHTML");发布于 2018-01-31 06:38:20
eo.webbrowser像chrome一样运行多进程,不受许多云服务环境的支持。
只需使用WebClient、HttpWebRequest或RestSharp或类似的东西就可以执行http请求来获得响应html。
https://stackoverflow.com/questions/28677109
复制相似问题