gpt4 book ai didi

C# 网络浏览器自动化

转载 作者:太空狗 更新时间:2023-10-29 22:27:42 26 4
gpt4 key购买 nike

背景:我正在创建一个 Windows 窗体应用程序,它可以自动在 Intranet Web 应用程序上输入订单。我们有大量的订单输入需要完成,这将花费我们很多钱,所以我自愿将任务自动化。

问题:我正在使用 webbrowser 类来浏览网络应用程序。我已经走了很远,但遇到了障碍。应用程序中有一个部分可以打开网页对话页面。如何与 Web 对话框交互。我的 webbrowser 类实例仍在父页面中。我希望有人能指出我正确的方向。

最佳答案

您有多种选择。要扩展其他人的答案并添加新想法...

使用 webbrowser 控件执行此操作:这在技术上是可行的,方法是将 javascript 作为 demonstrated here 注入(inject)目标页面。或创建一个 JavaScript 对象并通过 webbrowser.objectforscripting 将其用作桥梁属性(property)。这是非常脆弱的——像网站更改元素的 Id 这样简单的事情可能会破坏它。您还需要确保您的代码不会干扰表单的功能(冲突函数名称等...)

使用回传监控网络浏览器和服务器之间的通信(我个人更喜欢 Firfox/Firebug,但 ie/Fiddler 或 Chrome/F12 也都不错)。只要你能准确地复制浏览器的 Action ,服务器就无法知道其中的区别。这里的问题是浏览器很复杂,表单越安全,服务器的要求就越高。这意味着您可能必须伪造登录、获取 cookie、在后续请求中将它们发回、处理 Viewstate 数据和 xss 预防变量。这是可能的,而且它比第一个选项更强大,但开始工作可能会很痛苦。如果它不是高度安全的表单,那么这是您最好的选择。 More information here

通过浏览器自动化完成: Selenium可能是这里最好的选择(正如其他人所提到的),但与网络浏览器控件存在类似的缺陷,因为它对表单本身的变化很敏感(但不像网络浏览器控件那样 mcuh)。

顺便说一句,如果您有 Visual Studio Ultimate/Test 版本(以及其他一些,不确定是哪个),它包含一套测试工具,包括一个出色的引擎来自动对网站进行负载测试。这也非常适合跟踪表单的确切功能,因为您可以看到仿真的每一步。

希望对你有帮助

关于C# 网络浏览器自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10452077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com