我第一次尝试使用Selenium来驱动Firefox。我使用了几乎相同的代码来驱动Chrome,没有问题。但是,当我尝试使用Firefox驱动程序时,浏览器会打开,暂停,然后,大约60秒后,我会得到一个错误报告,内容如下:
Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
4474-a285-3208198ce6fd}","syncGUID":"dcskEFBTLyBH","location":"app-global","version":"48.0.1","type":"theme","internalName":"classic/1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{"32":"icon.png","48":"icon.png"},"iconURL":null,"icon64URL":null,"defaultLocale":{"name":"Default","description":"The default theme.","creator":"Mozilla","homepageURL":null,"contributors":["Mozilla Contributors"]},"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"descriptor":"C:\\Program Files\\Mozilla Firefox\\browser\\extensions\\{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1471881400240,"updateDate":1471881400240,"applyBackgroundUpdates":1,"skinnable":true,"size":21905,"sourceURI":null,"releaseNotesURI":null,"softDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"strictCompatibility":true,"locales":[],"targetApplications":[{"id":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","minVersion":"48.0.1","maxVersion":"48.0.1"}],"targetPlatforms":[],"seen":true}
1472056603181 addons.xpi DEBUG getModTime: Recursive scan of {972ce4c6-7e08-4474-a285-3208198ce6fd}我检查了其他指南,他们建议我更新我的.jar文件。我正在使用selenium-java-3.0.0-beta2 2和Firefox 48.0.1进行测试,所以我的文件是最新的。我想让它正常运行。
更新:代码仍然不工作,我已经设置了系统属性来正确设置geckodriver。但是,我仍然不能让司机正常工作。它甚至不会再启动浏览器了。
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class SimpleFireFoxDriver {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver();
driver.get("http://www.youtube.com");
System.out.println("Made it to the promised land");
driver.quit();
}
}编辑: FireFox本身的路径位于这里:"C:\Program \Mozilla Firefox\firefox.exe“
发布于 2016-08-24 17:28:35
发生这种情况是因为您设置了错误的系统属性。您需要按以下方式设置system属性:
System.setProperty("webdriver.gecko.driver","C:\\Selenium\\geckodriver.exe");Selenium firefox驱动程序希望在启动木偶驱动程序和启动firefox之前设置此系统属性。如果您不设置任何系统属性并尝试实例化火狐驱动程序,那么您将得到以下错误:“驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置。”
希望这能有所帮助。
发布于 2016-11-20 16:10:00
更改系统属性对我有效。改为:
System.setProperty("webdriver.firefox.marionette","src\\test\\java\\lib\\geckodriver.exe");
driver= new FirefoxDriver();希望这能有所帮助。
发布于 2016-12-12 14:59:53
用"webdriver.gecko.driver“换"webdriver.firefox.marionette”救了我的命!示例:
校正
System.setProperty("webdriver.firefox.marionette","C://selenium/gecko/geckodriver.exe");不正确
System.setProperty("webdriver.gecko.driver","C://selenium/gecko/geckodriver.exe");https://stackoverflow.com/questions/39128940
复制相似问题