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

Mar*_*llo 2 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)
Run Code Online (Sandbox Code Playgroud)

注意我的问题是关于 Selenium 和 HtmlAgilityPack 之间的交互。

Mar*_*llo 5

我找到了解决方案:当我们想要在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)
Run Code Online (Sandbox Code Playgroud)

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