gpt4 book ai didi

c# - 使用 C# 的 Optimus headless 浏览器

转载 作者:太空狗 更新时间:2023-10-29 21:48:49 27 4
gpt4 key购买 nike

有人能告诉我如何使用带有 C# 的 Optimus( headless 浏览器)nuget 包来从 URL 获取响应。我也想让页面上的javascript像phantomjs一样自动执行。

最佳答案

相当简单的套件:

  1. 先创建一个Engine组件(动态页面和静态页面通用):

    引擎 engine = new Engine();

  2. 打开你要获取的html文档的url:

    a) 不等待使用 javascript 添加的任何元素:

    engine.OpenUrl("http://google.com").Wait();

    b) 等待使用 javascript 添加的任何元素:

    engine.OpenUrl("http://google.com")

    然后:

    • engine.WaitDesappearingOfId("some-id")
    • engine.WaitId("some-id")
    • engine.WaitDocumentLoad()
    • engine.WaitSelector("#some-id")
    • engine.WaitSelector(".some-class")

现在您打开 url,有两种方法可以做到这一点 -加载文档(在执行任何 javascript 之前):

更完整的例子:

public static string dynamicLoadingPage()
{
var engine = new Engine();
engine.OpenUrl("https://html5test.com");
var tagWithValue = engine.WaitSelector("#score strong").FirstOrDefault();
System.Console.WriteLine("Score: " + tagWithValue.InnerHTML);
}

否则:

static string staticLoadingPage()
{
var engine = new Engine();
engine.OpenUrl("http://google.com").Wait();
Console.WriteLine("The first document child node is: " + engine.Document.FirstChild);
Console.WriteLine("The first document body child node is: " + engine.Document.Body.FirstChild);
Console.WriteLine("The first element tag name is: " + engine.Document.ChildNodes.OfType<HtmlElement>().First().TagName);
Console.WriteLine("Whole document innerHTML length is: " + engine.Document.DocumentElement.InnerHTML.Length);

}

关于c# - 使用 C# 的 Optimus headless 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44024260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com