c# - 以编程方式(在 c# 中)在页面上调用 Javascript,然后将其提交回服务器

标签 c# javascript

我需要请求一个页面(我现在正在使用 httpwebrequest),调用一些 javascript(例如

功能选择(id){ document.getElementById("selected").value = id;

然后将其提交回服务器。 . .这可能吗?

编辑

抱歉含糊不清。

我尝试与之交互的页面已经 100% 正常工作,我需要做的就是找到一种方法来欺骗服务器认为有人已经加载了该页面,导致一段 jScript 运行,并将其提交回服务器,就像一个虚假用户。我现在正在尝试在 winForm 上使用嵌入式 webBrowser,这样做最简单,因为等待被告知何时发出此请求的代码已经编写好了,它只需要能够模拟 squishy不在中间的人。

如果你不知道我目前正在学习 javascript,所以如果我对一些基本的东西不太确定,请原谅我 ^_^

最佳答案

如果您正在使用 HttpWebRequest 将“页面”(或其他资源)从 Web 拉入您的 C# 应用程序,那么您实际上将把该页面作为一个字符串来处理。您实际上并没有执行 JavaScript 的上下文……没有 DOM 或 JavaScript 引擎,除非您有浏览器来提供这些东西。对于一个更简单的解决方案,我会问是否有一种方法可以通过直接使用此页面作为 C# 中的纯文本来获得您正在寻找的相同功能?在您的示例中(我猜这是您要执行的操作的一个非常简化的示例),您希望获取 DOM 元素的值。您可以使用字符串或正则表达式函数来获取此类信息。如果您只想从正在下载的资源中提取文本信息,那可能是一个更简单的解决方案。

关于c# - 以编程方式(在 c# 中)在页面上调用 Javascript,然后将其提交回服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/443163/

相关文章:

c# - .NET 中的 float 范围?

javascript - react native | : <> </> 这是什么意思

javascript - Google 可视化饼图 - 更改文本坐标

javascript - 如何在一个 Vuejs 元素中使用多个模板?

c# - DetailText LineBreakMode 不起作用

c# - 无法让我的 if else 正常工作

c# - 从 WCF 服务调用异步方法

c# - 在没有显式引用的情况下调用方法的扩展方法

javascript - 错误 : [$injector:unpr] Unknown provider: ngCsvProvider <- ngCsv <- dynamicDemoController

javascript - vue 路由器滚动行为给出了路由值的提示