我在尝试查找元素中的值时遇到了一些麻烦。我认为原因是因为它只在div中而不是在表格中或类似的东西中。我不确定,但这与其他人有什么不同?例子。 这是我的代码:
private async void ButtonNext_Click(object sender, EventArgs e)
{
HtmlWeb web = new HtmlWeb();
var doc = await Task.Factory.StartNew(() => web.Load("https://hsreplay.net/decks/aeVbjoWFmDWILMwbMi9RCh/"));
var node = doc.DocumentNode.SelectNodes("//*[@id=\"mulligan - guide\"]/div/div/div[1]/div/div[4]/div/div/div[2]");
}
var节点返回null。我想要获取的值在这里:
89.3%我试图得到的值是89.3%。
任何帮助都会非常感激! 谢谢!
答案 0 :(得分:0)
你可能会得到你想要的东西。创建一个WebBrowser
实例,设置DocumentCompleted
事件处理程序(希望这意味着当事件被触发时,javascript和类似的东西也会完成)。然后,当调用处理程序时,获取WebBrowser
的源代码(有希望由脚本更新),创建HtmlAgilityPack.HtmlDocument
并在其上激活您的查询。
using(var ie = new WebBrowser())
{
ie.DocumentCompleted += (s, args) =>
{
var doc = new HtmlDocument();
doc.LoadHtml(ie.DocumentText);
var node = doc.DocumentNode.SelectNodes("//*[@id=\"mulligan - guide\"]/div/div/div[1]/div/div[4]/div/div/div[2]");
};
ie.Navigate("https://hsreplay.net/decks/aeVbjoWFmDWILMwbMi9RCh/");
}
未经过测试