在C#中模拟Javascript'doPostBack()' - c#

我正在为我的公司编写网络浏览器。我们的客户为此目的而允许我们访问其网站,但是我们客户的IT团队无法与我们联系,因此我必须在没有来源帮助的情况下执行该程序。

他们的网站在其所有按钮/下拉菜单上使用javascript将postData发送到服务器,以便屏幕更新以向最终用户显示正确的信息。

我正在尝试让我的程序模拟点击“下一页”。 “下一页”按钮具有一个onclick事件,其内容如下:

onclick="javascript:WebForm_DoPostBackWithOptions(
new WebForm_PostBackOptions("ctl00$ContentPlaceHolder1$ucTaxQueueListView$lviewOrderQueue$DataPager2$ctl00$btnNextPage"
, "", true, "", "", false, false))"    

在我的C#程序中,我正在使用HTTPWebRequest类和HTMLAgilityPack分别执行请求/剪贴。

我已经尽力在代码中尝试并使其正常工作。唯一有效的方法是使用Fiddler复制postData并将该逐字粘贴到我的WebRequest函数中。当我不得不潜在地转到1000+“下一页”时,这是非常不切实际的。

我也尝试过从页面中提取ViewState并使用它,但这总是给我一个“错误”页面。

任何帮助或指导将不胜感激,甚至补偿...我的老板希望这个项目在本周末完成!!!

参考方案

上一次我必须执行与此类似的项目时,我采用了一种非常不同的方法。

我使用了GreaseMonkey-尽管您也可以使用具有相同效果的Windows HTA文件-

我让GreaseMonkey脚本运行并一步一步地浏览页面。为了处理DoPostBack,我仅在适当的元素上调用了click处理程序。

我有几个数据存储。

一个DataStore涵盖了我“单击”的每个菜单项,以避免重复操作。

另一个DataStore是页面的原始HTML(由body.innerHTML获取)

克隆所有页面后,我编写了另一个GreaseMonkey脚本来加载每个保存的页面并从中获取所需的任何信息。我建立了第三个资源数据存储区(图像和CSS),然后使用通过管道传递到CuRL的大文本文件将其拉低。

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

获取JavaScript值到C#字符串 - javascript

                        是否可以在C#中执行类似的操作?该值为“ 10/05/2014”string jsValue = javascript("$('#EstimatedStartDate').val()"); 参考方案 您能否更详细地阐明您要做什么。看来您正在尝试从javascript(客户…

如何使用Javascript将字典列表解析为JSON格式? - javascript

我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…