C# .NET - 在服务器上部署时,带有 Selenium 的 MVC 应用程序不起作用
C# .NET - MVC app with Selenium doesn't work when deployed on Server
我用 C# + .NET - MVC 制作了一个登录自动化应用程序。
我的应用程序在我的本地计算机上运行完美,并将所有内容保存在数据库中。
一旦我在本地机器上部署了我的应用程序,索引视图就会收到电子邮件和密码,将它们发送到数据库并保存。下一步使用 Selenium 启动 WebDriver(Firefox 或 Chrome 在笔记本电脑上工作)。在这里,什么也没有发生。它一直在本地主机上等待一段时间,Chrome 和 FF 在一段时间后超时。
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult getInformation()
{
email = Request["getEmail"].ToString();
password = Request["getPassword"].ToString();
saveLogin();
return RedirectToAction("gatherer");
}
public ActionResult gatherer()
{
facebookLogin();
return null;
}
private static void facebookLogin()
{
chrome = new FirefoxDriver();
chrome.Navigate().GoToUrl("http://facebook.com");
chrome.FindElement(By.Id("email")).SendKeys(email);
chrome.FindElement(By.Id("pass")).SendKeys(password);
chrome.FindElement(By.Id("loginbutton")).Click();
}
这非常简单,并且在我的本地计算机上再次运行。但是部署在服务器上的IIS上,就不行。换句话说:网络驱动程序永远不会打开。
首先你需要从
chrome = new FirefoxDriver();
至
DesiredCapabilities capability = DesiredCapabilities.Firefox();
Uri url = new Uri("http://REMOTE_IP:5050/wd/hub");
IWebDriver chrome = new RemoteWebDriver(url, capability);
然后下载 Selenium Standalone 服务器并使用命令提示符启动它
java -jar C:\selenium-server-standalone-2.24.1.jar -interactive -port 5050
我用 C# + .NET - MVC 制作了一个登录自动化应用程序。
我的应用程序在我的本地计算机上运行完美,并将所有内容保存在数据库中。
一旦我在本地机器上部署了我的应用程序,索引视图就会收到电子邮件和密码,将它们发送到数据库并保存。下一步使用 Selenium 启动 WebDriver(Firefox 或 Chrome 在笔记本电脑上工作)。在这里,什么也没有发生。它一直在本地主机上等待一段时间,Chrome 和 FF 在一段时间后超时。
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult getInformation()
{
email = Request["getEmail"].ToString();
password = Request["getPassword"].ToString();
saveLogin();
return RedirectToAction("gatherer");
}
public ActionResult gatherer()
{
facebookLogin();
return null;
}
private static void facebookLogin()
{
chrome = new FirefoxDriver();
chrome.Navigate().GoToUrl("http://facebook.com");
chrome.FindElement(By.Id("email")).SendKeys(email);
chrome.FindElement(By.Id("pass")).SendKeys(password);
chrome.FindElement(By.Id("loginbutton")).Click();
}
这非常简单,并且在我的本地计算机上再次运行。但是部署在服务器上的IIS上,就不行。换句话说:网络驱动程序永远不会打开。
首先你需要从
chrome = new FirefoxDriver();
至
DesiredCapabilities capability = DesiredCapabilities.Firefox();
Uri url = new Uri("http://REMOTE_IP:5050/wd/hub");
IWebDriver chrome = new RemoteWebDriver(url, capability);
然后下载 Selenium Standalone 服务器并使用命令提示符启动它
java -jar C:\selenium-server-standalone-2.24.1.jar -interactive -port 5050