在Visual
Studio中将selenium更新为3.0,将Firefox更新为47.0,现在当我尝试使用本地webdriver模式时出现此错误:geckodriver.exe文件在当前目录中或PATH环境变量的目录中不存在。
当我使用远程模式(seleniumhub)时,即使它使用了firefox 45.0版本,它也能正常工作。
试图搜索一些示例,但没有找到任何针对c#的内容,仅针对Java,并且仍然无法使其正常工作。
我的网络驱动程序设置:
switch (ConfigurationManager.AppSettings["WebDriverMode"].ToLower())
{
case "local":
switch (ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower())
{
case "firefox":
driver = new AdvancedFirefoxDriver();
break;
case "ie":
driver = new AdvancedInternetExplorerDriver();
break;
case "chrome":
driver = new AdvancedChromeDriver();
break;
default:
throw new NotImplementedException(string.Format("WebDriverBrowserCapabilities of \"{0}\" is not implemented for {1} mode", ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower(), ConfigurationManager.AppSettings["WebDriverMode"].ToLower()));
}
break;
case "remote":
var huburl = new Uri(ConfigurationManager.AppSettings["SeleniumHubAddress"]);
DesiredCapabilities capabilities;
switch (ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower())
{
case "firefox":
capabilities = DesiredCapabilities.Firefox();
break;
case "ie":
capabilities = DesiredCapabilities.InternetExplorer();
break;
case "chrome":
capabilities = DesiredCapabilities.Chrome();
break;
default:
throw new NotImplementedException(string.Format("WebDriverBrowserCapabilities of \"{0}\" is not implemented for {1} mode", ConfigurationManager.AppSettings["WebDriverBrowserCapabilities"].ToLower(), ConfigurationManager.AppSettings["WebDriverMode"].ToLower()));
}
capabilities.IsJavaScriptEnabled = true;
driver = new AdvancedRemoteWebDriver(huburl, capabilities);
break;
default:
throw new NotImplementedException();
}
从selenium 3.0开始,您必须使用geckodriver
Firefox浏览器。
从此处https://github.com/mozilla/geckodriver/releases下载最新的geckodriver
您有两种选择:
PATH
。System.Environment.SetEnvironmentVariable("webdriver.gecko.driver",@"/path/to/geckodriver.exe"
注意: 如果设置PATH环境变量,则可能需要重新启动系统。
从Firefox
47起(不包括Firefox),Selenium默认使用geckodriver功能。对于47及以后的版本,您可能需要关闭此功能,以便Selenium可以像以前使用这些版本一样使用Firefox内置支持。
JAVA版本实现相同:
DesiredCapabilities d = new DesiredCapabilities();
d.setCapability("marionette", false); // to disable marionette.
WebDriver driver = new FirefoxDriver(d);
参考文献:
1. https://msdn.microsoft.com/zh-CN/library/z46c489x.aspx
2. https://superuser.com/questions/317631/setting-path-in-windows-7-command-prompt
当我遇到与找不到文件相关的错误时,我正在执行此代码。文件存在于代码所在的同一文件夹中,但此错误不会继续。请帮忙! 代码: 以下是错误: Traceback(最近的调用最后): 文件“F:\Report on Artificial Intelligence\candlestick code\c5.py”,第13行,df=pd.read\u csv('nse2.csv',parse\u dates=T
问题内容: 关闭。 这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 如何在文件中设置内存限制。我尝试了。但是在重启MYSQL服务器时显示错误。任何人都可以帮助… my.cnf 问题答案: 没有像 MySQL 文件中这样的变量。您只能从MySQL服务器系统变量中添加变量。阅读本文Mysql如何使用内存 这取决于您的My
我试图看看图片是否存在,但这说不存在,路径是正确的!路径是正确的,它有一张图片,但这总是转到“其他”。
几周前,我正在编写一个应用程序。当时它正在工作并成功运行。今天,我尝试打开Android Studio,但在gradle构建中不断出现以下错误: 我不知道该怎么办。我谷歌了一下,并尝试了一些答案,比如删除. gradle文件夹中的脚本文件夹,然后重新启动Android Studio,但这没有帮助。 编辑=我尝试复制“缓存”。属性的文件。。。2.8/cache文件夹到我的项目中。它确实深入到了gra
null 如果发生客户端错误,我将如何中止此序列,并向服务器指示这一点?
我想向注册用户发送确认邮件。我正在使用php邮件程序和smtp lib类文件向注册用户发送邮件。 但我犯了这个错误。 SMTP-