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

c# html-agility-pack selenium vb.net

我正在尝试将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)

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

热门答案

我找到了解决方案:当我们想要在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之间的互动,我发布了自己的答案,也许可以帮助。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因