我用我的C#项目Geckofx和Htmlagilitypack解析一些网站(例如Xing,LinkedIn)。 由于LinkedIn已更新其网页,因此无法解析信息。因为信息在页面加载后加载了ajax。这就是为什么,我需要的信息没有在源代码中准备,这会禁用HtmlAgilityPack来获取信息。
例如,请参阅页面:https://www.linkedin.com/in/johntroch/
我如何解析内容?
答案 0 :(得分:1)
我用手动控制解决了这个问题:
while (!getSource().Contains("any text");)
{
Application.DoEvents();
}
getSource()是另一种给我页面源代码的方法。我检查直到我得到我的文字。然后我获得了动态内容的所有源代码。
答案 1 :(得分:0)
本周早些时候,我想知道同样的事情。不幸的是,如果这个类似问题的答案仍然适用,则不可能仅使用HTMLAgilityPack :(
答案 2 :(得分:0)
您无法使用HAP
执行此操作,但您可以在Selenium Web驱动程序/ Web浏览器控件或PhantomJS的帮助下为无头浏览器执行此操作。以下是使用PhantomJS驱动程序的示例。
IWebDriver driver = new PhantomJSDriver();
driver.Navigate().GoToUrl("https://www.linkedin.com/in/johntroch/");
var backpack = driver.FindElement(By.XPath("//*[contains(@class,'profile-overview')]"));
以上代码将为您提供:
以下是Link如何使用PhantomJS和硒Visit this