【问题标题】:How to get HtmlAgilityPack.HtmlDocument from Selenium Driver.PageSource?如何从 Selenium Driver.PageSource 获取 HtmlAgilityPack.HtmlDocument?
【发布时间】:2019-02-25 16:44:29
【问题描述】:

我正在尝试将 HtmlAgilityPack 与 Selenium 一起使用。 我想做一些测试,但不知道如何从 Selenium Driver.PageSource 字符串加载 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 之间的交互。

【问题讨论】:

  • 您的意思是下载 htmlDocument 并将其保存在变量中?
  • @Simo 是的,来自 Selenium Driver.PageLoaded 字符串。
  • @Simo 它在 Pyton 中。但也许可以提供很好的帮助,...让我试试。
  • @Simo 是的,谢谢 Simo,使用 ChromeDriver,需要使用 JavaScriptExecutor 做一些事情,正在处理它。

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


【解决方案1】:

我找到了解决方案: 当我们想在 Selenium 和 HtmlAgilityPack 之间进行交互时,我们不需要创建 HtmlWeb 的实例,因为我们已经有了 Selenium 浏览器。 所以直接从 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 之间的交互,我自己发布答案,也许可以提供帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2020-11-18
    • 2014-08-16
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多