我想在C#中使用API调用运行脚本。我不想打开网页,只需要运行脚本。我正在尝试这个:
HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
HtmlDocument doc; //I have tried HtmlDocument = new HtmlDocument();, didn't work.
var resultStream = response.GetResponseStream();
doc.LoadHtml(resultStream); // I have tried using Load instead of LoadHtml,didn't work out.
doc.InvokeScript("Submit");
我收到错误,使用未分配的变量doc。和doc不包含函数名称LoadHtml。我添加Microsoft.VisualStudio.TestTools.UITesting.HtmlControls;
,没有帮助。
我已经检查了问题HtmlDocument.LoadHtml from WebResponse?和Get HTML code from website in C#,但他们没有收到错误的文档。
任何解决方案。
答案 0 :(得分:1)
您必须更改加载HtmlDocument的方式
string html = new WebClient().DownloadString(URL);
WebBrowser browser = new WebBrowser()
{
ScriptErrorsSuppressed = true,
DocumentText = string.Empty
};
HtmlDocument doc = browser.Document.OpenNew(true);
doc.Write(html);
doc.InvokeScript("Submit");
希望它有效。
答案 1 :(得分:0)
HtmlDocument doc; //I have tried HtmlDocument = new HtmlDocument();, didn't work.
除非你这样做,否则这项工作不会起作用:
HtmlDocument doc = new HtmlDocument(/*someUri*/, /*documentLocation*/);
您需要初始化文档。这就是你看到
的原因use of unassigned variable doc
查看此处的文档了解详情:
根据它,构造函数签名是:
HtmlDocument(Uri,String)
描述:
初始化HtmlDocument类的新实例。此构造函数采用>字符串并将其用作文档。
另外,通过查看文档,它没有方法LoadHtml()