gpt4 book ai didi

javascript - 在从 C# 字符串生成的 HTML 上运行 javascript

转载 作者:搜寻专家 更新时间:2023-10-31 08:51:09 25 4
gpt4 key购买 nike

我想在从 C# 字符串生成的 HTML 上运行 javascript。(无需打开浏览器 - 只需 C# 代码)

类似于:

string myHTML = '<div id="divTest">This is test<br/><br/></div>';

Javascript 应该是:

function test 
{
return document.getElementById('divTest').offsetHeight;
}

我已经尝试过检查一些 headless 浏览器,如 PhantomJS 和 Optimus - 但它们没有呈现字符串的选项(只能通过 http://google.com 这样的网址打开网页/.有没有办法通过C#来实现?

最佳答案

以下对我有用:

string html = "<html><head></head><body><div id=\"divTest\">This is test<br/><br/></div></body></html>";

string script1 = "return document.getElementById('divTest').innerText";
string script2 = "return document.getElementById('divTest').offsetHeight";

var options = new PhantomJSOptions();
options.AddAdditionalCapability("javascriptEnabled", true);

var driver = new PhantomJSDriver(options);
driver.Url = "file://dummy.html";
driver.Navigate();
driver.ExecutePhantomJS("document.write('" + html + "');");

var test1 = driver.ExecutePhantomJS(script1);
//Returns: This is a test
var test2 = driver.ExecutePhantomJS(script2);
//Returns: 40

您需要安装 Selenium.WebDriver NuGet 并从 http://phantomjs.org/download.html 下载 PhantomJS exe。它需要与您的 exe 位于同一文件夹中或位于 PATH 中。

关于javascript - 在从 C# 字符串生成的 HTML 上运行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45964030/

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