我使用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上部署,却没有。换句话说:webdriver永远不会打开。
答案 0 :(得分:1)
首先你需要改变
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