如何从Selenium Driver.PageSource获取HtmlAgilityPack.HtmlDocument?

时间:2018-09-21 09:43:35

标签: c# vb.net selenium html-agility-pack

我正在尝试将HtmlAgilityPack与Selenium一起使用。 我想进行一些测试,但不知道如何从Selenium Driver.PageSource String加载HtmlDocument。 有什么帮助吗? (c#或vb.net)

代码在这里...

Dim driver As IWebDriver
Dim ChromeOptions As New ChromeOptions
driver = New ChromeDriver("C:\ChromeDriver", ChromeOptions)
driver.Navigate.GoToUrl("www.Google.com")

Dim doc As New HtmlDocument
Dim wb As New HtmlWeb
doc = wb.LoadFromBrowser(driver.PageSource)

我的问题是关于硒与HtmlAgilityPack之间的相互作用。

1 个答案:

答案 0 :(得分:3)

我找到了解决方案: 当我们想在Selenium和HtmlAgilityPack之间进行交互时,我们不需要创建HtmlWeb实例,因为我们已经有Selenium Browser。 因此,只需直接从Driver.PageSource加载HtmlDocument:

Dim driver As IWebDriver
Dim ChromeOptions As New ChromeOptions
driver = New ChromeDriver("C:\ChromeDriver", ChromeOptions)
driver.Navigate.GoToUrl("www.Google.com")

Dim doc As New HtmlDocument
doc.LoadHtml(driver.PageSource)

由于互联网上没有太多类似的帮助,所以关于Selenium与HtmlAgilityPack之间的交互,我将自己发布的答案发布,也许可以帮忙。