У меня есть это существующее Windows приложение формы, написанное в C#, которое обрабатывает данные и отправляет обработанные данные на веб-сайт.
В inte rnet explorer работает нормально, но я хочу его также для работы на Microsoft Edge. Можно ли использовать Edge?
Вот мой код.
private void SendDataToSPC(SHDocVw.InternetExplorer ie, string strSPCData)
{
mshtml.IHTMLDocument3 doc = ie.Document as mshtml.IHTMLDocument3;
mshtml.IHTMLElementCollection txtBoxes = doc.getElementsByTagName("INPUT");
string[] data = Regex.Split(strSPCData, "\r\n");
int intCtr = 0;
foreach (mshtml.IHTMLElement txtBox in txtBoxes)
{
if (txtBox.getAttribute("className") != null)
{
if (txtBox.getAttribute("className").Equals("vcs_de_textbox") && intCtr < data.Length)
{
txtBox.setAttribute("value", data[intCtr]);
intCtr++;
}
}
}
foreach (mshtml.IHTMLElement button in txtBoxes)
{
if (button.getAttribute("className") != null)
{
if (button.getAttribute("className").Equals("vcs_de_saveButton")){
button.click();
}
}
}
((mshtml.HTMLDocument)doc).focus();
}
Обновление
Я в настоящее время использую Selenium и пытаюсь использовать драйвер Edge он возвращает мне ошибку
Дополнительная информация: возникла исключительная ситуация с нулевым ответом при отправке HTTP-запроса на удаленный сервер WebDriver для URL http://localhost: 58191 / session, Состояние исключения было ReceiveFailure, и сообщение было: Основное соединение было закрыто: При получении произошла непредвиденная ошибка.
Но когда я пытаюсь использовать firefoxDriver, он работает, но мне нужно использовать существующий Firefox открытый сеанс браузера (существующий open Firefox).
Selinium webdriver 3.141.0
Microsoft Edge 41.16299.1480.0 - browser
Selenium.webdriver.microsoftdrivere 17.17134.0
OS Windows 10
Вот мой последний код
private void SendDataToSPC2(string strSPCData)
{
//Create the reference for our browser
//System.setProperty("webdriver.edge.driver");
//IWebDriver driver = new FirefoxDriver();
//Navigate to google page
//driver.Navigate().GoToUrl("http:www.google.com");
//Find the Search text box UI Element
//IWebElement element = driver.FindElement(By.Id("p1d1"));
//Perform Ops
//element.SendKeys("executeautomation");
//Close the browser
// driver.Close();
IWebDriver edgeDriver = new EdgeDriver();
edgeDriver.Navigate().GoToUrl("http://phgcubadm1ms023/spc/jsp/dataentry/vcsdataentry/vcsDataEntryMain.action");
var txtBoxes = edgeDriver.FindElements(By.TagName("INPUT"));
string[] data = Regex.Split(strSPCData, "\r\n");
int intCtr = 0;
foreach (IWebElement txtbox in txtBoxes)
{
if (txtbox.GetAttribute("className") != null)
{
if (txtbox.GetAttribute("className").Equals("vcs_de_textbox") && intCtr < data.Length)
{
txtbox.SendKeys(data[intCtr]);
intCtr++;
}
}
}
foreach (IWebElement button in txtBoxes)
{
if (button.GetAttribute("className") != null)
{
if (button.GetAttribute("className").Equals("vcs_de_saveButton"))
{
button.Click();
}
}
}
}