Конструктор FirefoxDriver (FirefoxOptions) не определен

Я использую Selenium 3.5.3, и вот мой код.

Я пытаюсь использовать параметры Firefox в конструкторе, как в
https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/firefox/FirefoxDriver.html#FirefoxDriver-org.openqa.selenium.firefox.FirefoxOptions-

FirefoxOptions options=new FirefoxOptions();
options.setProfile(profile);
driver =new FirefoxDriver(options);

Я получаю сообщение об ошибке при создании экземпляра драйвера Firefox:

Конструктор FirefoxDriver (FirefoxOptions) не определен

Как я могу это решить?

Firefox версии 55.0.3 64 бит Geckodriver v0.18.0


person deepakguna    schedule 05.09.2017    source источник
comment
Какую версию firefox вы используете, используете ли вы geckdriver   -  person iamsankalp89    schedule 05.09.2017
comment
@ iamsankalp89 я добавил сведения о версии   -  person deepakguna    schedule 05.09.2017
comment
Я могу запустить его selenium jar 3.5   -  person iamsankalp89    schedule 05.09.2017
comment
Какая у вас версия Selenium?   -  person Guy    schedule 05.09.2017
comment
@ Guy Selenium 3.5.3   -  person deepakguna    schedule 05.09.2017
comment
Если вы используете 3.5.3, тогда должна быть опция конструктора FirefoxOptions.   -  person iamsankalp89    schedule 05.09.2017
comment
@ iamsankalp89 еще нет, я почищу свой maven и попробую еще раз,   -  person deepakguna    schedule 06.09.2017
comment
@ iamsankalp89, можешь показать мне свой импорт?   -  person deepakguna    schedule 06.09.2017
comment
@deepakguna Я обновил свой ответ с помощью импорта   -  person iamsankalp89    schedule 06.09.2017
comment
ты понял? попробуй это   -  person iamsankalp89    schedule 06.09.2017
comment
Проблема @ iamsankalp89 решена с помощью mvn clean install   -  person deepakguna    schedule 06.09.2017
comment
Позвольте нам продолжить это обсуждение в чате.   -  person iamsankalp89    schedule 06.09.2017


Ответы (3)


Попробуйте этот код:

import java.io.File;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.firefox.FirefoxProfile;

public class FirefoxOptionsDemo {

public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "E:\\software and tools\\geckodriver.exe");
FirefoxProfile profile =new FirefoxProfile(new File("C:\\Users\\sys\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\ejtrne37.QAProfile"));
FirefoxOptions option=new FirefoxOptions();
option.setProfile(profile);
// Initialize Firefox driver
WebDriver driver = new FirefoxDriver(option);
//Maximize browser window
driver.manage().window().maximize();
//Go to URL which you want to navigate
driver.get("http://www.google.com");
//Set  timeout  for 5 seconds so that the page may load properly within that time
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//close firefox browser
driver.close();
}
}

Это изображение для справки:

FirefoxOptions Constructor

person iamsankalp89    schedule 05.09.2017
comment
Если вы посмотрите на мой вопрос, этот оператор new FirefoxDriver (option) получает ошибку - конструктор FirefoxDriver (FirefoxOptions) не определен - person deepakguna; 05.09.2017
comment
u import import org.openqa.selenium.firefox.FirefoxOptions; - person iamsankalp89; 05.09.2017
comment
@deepak ты это делаешь? - person iamsankalp89; 05.09.2017
comment
да, у меня он есть в моем импорте, но все еще не вижу конструктора FirefoxDriver, который принимает FirefoxOptions в качестве аргумента - person deepakguna; 05.09.2017

Проблема связана с сосуществованием более старой версии селена. mvn clean install устранила проблему.

person deepakguna    schedule 06.09.2017

Ваша проблема может быть связана с разными причинами.

Распространенной причиной является несовпадение версии вашего браузера Firefox и / или драйвера gecko и / или библиотеки селена.

Я решил эту проблему обновлением драйвера gecko и библиотеки селена до последней версии.

В моем случае чистая установка mvn не решила проблему.

person Manuel Pintaldi    schedule 17.04.2018