我只想在本地测试。使用 Internet Explorer 可以正常工作。使用 Firefox,我在行 driver.FindElement 上超时:
var capabilitiesInternet = new OpenQA.Selenium.Remote.DesiredCapabilities();
capabilitiesInternet.SetCapability("ignoreProtectedModeSettings", true);
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl(url);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement category = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Name("login"));
});
// Login
driver.FindElement(By.Name("login")).SendKeys("test");
错误消息是远程驱动程序超时的 httpRequest。
Upate:我认为这是因为我有一个便携式版本的 Firefox 21 和一个旧版本的 FF,它们不能与 Selenium 一起使用,而 Selenium 推出的是旧版本。所以我试图指出便携式的路径:
var capabilitiesInternet = new OpenQA.Selenium.Remote.DesiredCapabilities();
capabilitiesInternet.SetCapability("ignoreProtectedModeSettings", true);
string path = @"C:\Portable";
FirefoxProfile ffprofile = new FirefoxProfile(path);
IWebDriver driver = new FirefoxDriver(ffprofile);
不幸的是,它一直在运行旧版本(由于公司环境,我无法更改旧版本)。
反正有没有使这个配置文件工作?