Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript注入C中的HtmlDocument#_Javascript_C#_Html - Fatal编程技术网

将javascript注入C中的HtmlDocument#

将javascript注入C中的HtmlDocument#,javascript,c#,html,Javascript,C#,Html,有没有一种简单的方法可以在不使用PhantomJS的情况下将javascript注入HtmlDocument对象? HtmlAlityPack.HtmlDocument类中是否有这样的方法 任何建议都是值得的, 谢谢大家! 您可以使用 HtmlElement script = doc.CreateElement("SCRIPT"); 设置所需脚本的值,然后将其附加到HtmlDocument的标题您可以在HtmlDocument中插入脚本标记(其中包含脚本) 不过,您仍然需要一些东西来执行jav

有没有一种简单的方法可以在不使用PhantomJS的情况下将javascript注入HtmlDocument对象? HtmlAlityPack.HtmlDocument类中是否有这样的方法

任何建议都是值得的,
谢谢大家!

您可以使用

HtmlElement script = doc.CreateElement("SCRIPT");

设置所需脚本的值,然后将其附加到HtmlDocument的标题

您可以在HtmlDocument中插入脚本标记(其中包含脚本)

不过,您仍然需要一些东西来执行javascript。如果您希望您的c#代码以某种方式评估javascript的结果——特别是如果您正在进行dom操作——那么PhantomJS可能是最好的方法,因为它是一个无头浏览器,您可以在没有用户交互和界面的情况下运行

简而言之,答案是肯定的,但我认为如果没有一个既懂javascript又懂HTMLDOM的引擎,你想要什么是不可能的。幻影还有很多替代品,比如说,我厚颜无耻的回答仍然是肯定的;)


提示:不要害怕运行PhantomJS或类似程序。

是的,我正在进行DOM操作。我想我终究会尝试使用PhantomJS。您能否提供一个示例,说明如何在C#中获取javascript变量?例如,我有一个变量var price=productPrice();我想评估函数productPrice(),并使用PhantomJS获得C#中的价格。您是在网站上进行测试,还是在尝试自动化任务,或者您可能正在“清理”网站?我认为上下文在这里会有很大帮助。