C# 从webbrowser调用Jquery函数
我正在尝试使用webbrowser从受密码保护的网页获取数据,webbrowser使用一个带有3个JQuery数据字段的div容器。第二个字段取决于第一个字段,第二个字段中的第三个字段。我需要设置这三个组合框,然后点击提交,以获取我想要获取的数据。问题是,一旦第一个组合框发生更改,它就会调用一个函数来填充第二个和第三个框。我不知道如何调用这个函数 这是第一个组合框的外观: 选择s[DCOM1]选择1 我成功地设置了第一个组合框,但是最大的问题是调用viewStep.onSChanged(),它应该填充第二个框,但我无法让它工作 onSChanged函数位于jqueryjs中。文件C# 从webbrowser调用Jquery函数,c#,jquery,C#,Jquery,我正在尝试使用webbrowser从受密码保护的网页获取数据,webbrowser使用一个带有3个JQuery数据字段的div容器。第二个字段取决于第一个字段,第二个字段中的第三个字段。我需要设置这三个组合框,然后点击提交,以获取我想要获取的数据。问题是,一旦第一个组合框发生更改,它就会调用一个函数来填充第二个和第三个框。我不知道如何调用这个函数 这是第一个组合框的外观: 选择s[DCOM1]选择1 我成功地设置了第一个组合框,但是最大的问题是调用viewStep.onSChanged(),它应
self.onsChanged = function(selectadj) {
self.viewBasicsUpdated = true;
log.debug('onsChanged');
if (self.s) {
self.adjEnabled = false;
self.adj = null;
self.auctionType = 'S';
controller.ds.getadjList(self.s.id, function(response) {
controller.applyUpdates(function() {
self.adjList = response.data;
// Add "Add adj" option (as first in array).
self.adjList.unshift({
id : ADD_adj_ID,
fullName : controller.locale.getMessage('app.label.add.adj')
});
self.adjEnabled = true;
self.standardEnabled = true;
self.vixEnabled = (StringUtils.trimWS(self.s.vixFlag) === 'Y') ? true : false;
self.offsiteEnabled = (StringUtils.trimWS(self.s.offsiteFlag) === 'Y') ? true : false;
self.titOnlyEnabled = (StringUtils.trimWS(self.s.titOnlyFlag) === 'Y') ? true : false;
self.salType = self.s.salType;
self.titProcurementFlag = (StringUtils.trimWS(self.s.titProcurmentFlag) === 'Y') ? true : false;
//Selects the adj when a new adj is added.
if(selectadj){
angular.forEach(self.adjList, function(object, index) {
log.debug("object.id++"+object.id);
if(object.id===self.newadjId){
self.adj=object;
log.debug("self.newadjId++"+object.id);
}
});
}
});
});
}else{
controller.applyUpdates(function() {
self.adj = null;
self.adjEnabled = false;
self.auctionType = 'S';
self.standardEnabled = false;
self.vixEnabled = false;
self.offsiteEnabled = false;
self.titOnlyEnabled = false;
self.salType = null;
self.titProcurementFlag = false;
});`
}
};
我曾尝试用许多不同的选项调用该函数,包括invokescript,发布一个与我在Fiddler中看到的相同的post请求(我猜它失败了,因为cookie是不同的),但一切都失败了。是否有执行此函数的方法?使用Javascript在输入控件上设置值时,DOM事件可能不会触发,具体取决于值的设置方式 在本例中,
self.onsChanged
,而不是尝试执行网页通常会触发的相同功能,而是在更新的控件上触发事件
$("#selectBox1").val("Value A");
$("#selectBox1").change();
我已经反复阅读了你的问题很多次,但我不明白问题是什么,也不明白你的问题是什么。为了清晰起见,您可以重写它,以便我们能够提供更好的帮助吗?我基本上是在一个包含3个动态填充的组合框的面板中设置正确的选择,这会导致我需要废弃的数据,我成功地将第一个组合框设置为我需要的选项,但是我无法调用填充第二个和第三个框的函数,基于对第一个的选择,我最终通过使用HTTPWebRequest、登录到网站并发布一个Ajax调用来解决这个问题。谢谢大家的帮助:)