因此,我正在将第三方网页嵌入到我们的WPF应用程序中(通过WebBrowser控件)。目标之一是在页面加载时预先加载一些输入...方法是执行一些JS命令之后,WPF控件将支持该功能,并且基本上与使用浏览器开发人员工具的JS控制台相同。
该网页似乎是使用Angular编写的(基于与同事的对话,似乎是v1),jQuery也可用。
到目前为止,通过将DOM(document.getElementById加上一些querySelector / etc调用)导航到复选框并调用.click(),我单击某些按钮(多选输入)没有问题。 。这样就触发了角度事件,一切都很好。
问题在于文本输入...到目前为止,我已经尝试了以下操作:
doc.getElement()。value = x; doc.getElement()。dispatchEvent(new FocusEvent());
angular.element(doc.getElement())。scope()。viewModel.data.whatever = x;
angular.element(doc.getElement())。scope()。$ apply(function(x){x.data.viewPort.whatever = x;});
我在进行测试时遇到的其他想法:
我尝试设置值,将焦点放在另一个元素上,然后又回到原始元素-只是为了查看UI是否会像对我一样交互式地刷新-不会。
看起来像在按键上有监听器,所以我考虑过尝试模拟事件,但从Edge获得了权限被拒绝(我需要摆弄Chrome的Kerberos设置才能使其正常工作,对于与其他内部网站相关的原因,我尝试避免这样做。
寻找所有建议。
我知道整个过程似乎都是倒退,但是我无法控制第三方网站(尽管第二天左右我确实会打电话给他们的工程师)来讨论。