2015-03-05 1 views
2

Есть ли простой способ вставить javascript в объект HtmlDocument без использования PhantomJS? Есть ли такой метод в классе HtmlAgilityPack.HtmlDocument?Вставить javascript в HtmlDocument в C#

Любые советы оцениваются, Спасибо!

ответ

1

Вы может вводить тег сценария (с помощью сценария в нем) в HTMLDocument.

Вам все равно нужно что-то выполнить javascript. Если вы хотите, чтобы ваш код C# каким-то образом оценивал результат работы javascript, особенно если вы делаете манипуляции с dom, то PhantomJS, вероятно, лучший способ пойти, поскольку это безгласный браузер, который вы можете запускать без взаимодействия с пользователем и интерфейса.

Короткий ответ: да, но я думаю, что вы не хотите без двигателя, который знает как javascript, так и html dom. Есть альтернативы PhantomJS, вроде http://slimerjs.org/, поэтому мой нахальный ответ по-прежнему да;)

Подсказка: не бойтесь запускать PhantomJS или тому подобное.

+0

Да, я делаю манипуляции DOM. Я думаю, что я попытаюсь использовать PhantomJS в конце концов. Можете ли вы привести пример того, как я могу получить переменную javascript в C#? – Alin

+0

Например, у меня есть переменная var price = productPrice(); Я хочу оценить функцию productPrice() и получить цену на C# с помощью PhantomJS. – Alin

+0

Спасибо заранее! – Alin

1

Вы можете создать элемент с

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

Установите значение с помощью скрипта, который вы хотите, и затем прикрепить к коллектору в HTMLDocument

Смежные вопросы