任何使用网络浏览器控件自动执行IE*WITH*的方法

本文关键字:IE WITH 方法 执行 网络 浏览器 控件 任何使 | 更新日期: 2023-09-27 18:27:46

我有一个企业应用程序,它可以自动化许多业务功能。我大量使用WebBrowser控件进行所有网站交互(网站抓取、网络应用程序自动化等)

我遇到过两个网站,它们只是在WebBrowser控件中NOT正确渲染。具体而言:

  • 美国邮政服务点击即用网络应用程序。在支付邮费之前效果良好。即使只是在WebBrowser控件中使用鼠标控制它(没有自动化)也不允许我支付邮费。我一提交页面,它就永远挂着。

  • UPS Quantum View Manage web应用程序。此页面甚至不会在WebBrowser控件中加载。只是永远挂着。

这两个在我的IE10浏览器中都表现得很好。

我已经尝试设置注册表项以将渲染引擎从默认的IE7更改为IE9。但结果还是一样。这些web应用程序的某些内容将不会在WebBrowser控件中呈现。

所以。。。。有什么方法可以从我的C#应用程序中自动化IE10浏览器吗?通过发送某种信息?我需要能够点击链接并填写登录信息等表格数据。任何建议都很感激。。。

任何使用网络浏览器控件自动执行IE*WITH*的方法

您可以使用Selenium这样的测试工具来自动化IE。您可以从他们的下载页面下载IE驱动程序。

使用谷歌的一个简单例子(确保你阅读了如何让IE驱动程序工作的说明):

OpenQA.Selenium.IE.InternetExplorerDriver d = new OpenQA.Selenium.IE.InternetExplorerDriver();
d.Navigate().GoToUrl("http://www.google.com");
d.FindElementByName("q").SendKeys("Stack");
d.FindElementByName("btnK").Click();
WebDriverWait waiter = new WebDriverWait(d, TimeSpan.FromSeconds(10));
waiter.Until(ExpectedConditions.ElementExists(By.CssSelector(".rc .r a")));
// Message the first element
MessageBox.Show(d.FindElementByCssSelector(".rc .r a").Text);