Win 7和FireFox以德语运行 Win 7安装了所有可用的更新。
32位和64位GeckoDriver相同! (我的Win 7是64位;我的FireFox是32位)。
相同的GeckoDriver 0.14。
这只是我的电脑上的一个问题吗?
driver.quit()
正在使用我的InternetExplorer而没有任何问题。
package JS_JFrame1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumFireFoxMinimal1 {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.gecko.driver", "e:\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.toolsqa.com");
Thread.sleep(5000);
driver.quit();
}
}
像这样的其他硒命令非常有效:
element = driver.findElement(By.id("sinp"));
System.out.println( "Element found!");
element.clear();
element.sendKeys("black");
element.submit();
Eclipse Console-Output:
1485978825934 geckodriver INFO收听于127.0.0.1:21352 Feb 01, 2017 8:53:46 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFORMATION:假设,尝试双方会话 Postel的法律在远程端是正确的 1485978826606 mozprofile :: profile INFO使用配置文件路径 C:\用户\ XXXXXXX \应用程序数据\本地的\ Temp \ rust_mozprofile.qNYZq4KKbeGl 1485978826606 geckodriver :: marionette INFO启动浏览器C:\ Program 文件(x86)\ Mozilla Firefox \ firefox.exe 1485978826637 geckodriver :: marionette INFO连接到木偶 localhost:51926 1485978828021 Marionette INFO在港口51926上收听 2017年2月1日下午8:53:52 org.openqa.selenium.remote.ProtocolHandshake createSession信息:检测到的方言:W3C JavaScript警告: https://www.youtube.com/yts/jsbin/player-de_DE-vflWB2cvt/base.js,行 664:错误:WebGL:getParameter:参数:无效的枚举值[Child 4416] ### !!! ABORT:中止通道错误:文件 C:/builds/moz2_slave/m-rel-w32-00000000000000000000/build/src/ipc/glue/MessageChannel.cpp, line 2056 Feb 01,2017 8:54:07 PM org.openqa.selenium.os.UnixProcess 销毁SCHWERWIEGEND:无法使用PID 4608终止进程
答案 0 :(得分:1)
将browser.tabs.remote.autostart.2
设置为 false 。
FirefoxOptions options = new FirefoxOptions();
options.BrowserExecutableLocation = Settings.Default.FirefoxBinary;
>>>> profile.SetPreference("browser.tabs.remote.autostart.2", false);
FirefoxProfile profile = new FirefoxProfile();
....
options.Profile = profile;
driverSet.Driver = new FirefoxDriver(options);
答案 1 :(得分:1)
问题与firefox从firefox版本> = 50开始使用多进程环境的事实有关,似乎selenium无法处理它。
添加以下行应解决此问题:
FirefoxProfile ffProfile = new FirefoxProfile();
ffProfile.setPreference("browser.tabs.remote.autostart.2", false);
WebDriver driver = new FirefoxDriver(newFirefoxOptions().setProfile(ffProfile));
答案 2 :(得分:0)
退出驱动程序是一个已知的Firefox / geckodriver问题,有关详细信息,请参阅here。
它出现在一些FF版本中,有人说它是固定的,有些人说它不是。我无法找到更好的解决方案,所以我打开'旧'Firefoxdriver和FF v47.0.2,它工作正常。
答案 3 :(得分:0)
我找到了解决方法。我的代码是在C#
Utility.Instance.KillProcess("firefox");
System.Windows.Forms.SendKeys.SendWait("{ESC}");
Utility.Instance.KillProcess("geckodriverserver");
希望它会对你有所帮助。