Отключить уведомление о разрешении моего местоположения с помощью селена
Я пытаюсь инициализировать FirefoxDriver, чтобы он мог отключить уведомление веб-сайта о разрешении моего местоположения. Я искал и нашел этот код. Но при установке ffprofile в FirefoxDriver() он говорит, что не может разрешить конструктор.
System.setProperty(Utility.MOZILLA_DRIVER, Utility.MOZILLA_PATH);
FirefoxProfile ffprofile = new FirefoxProfile();
ffprofile.setPreference("javascript.enabled", false);
driver = new FirefoxDriver(ffprofile);
driver.manage().window().maximize();
Сервисный класс здесь:
public class Utility {
public static final String MOZILLA_PATH="C:\\SeleniumDrivers\\firefox\\geckodriver.exe";
public static final String MOZILLA_DRIVER="webdriver.gecko.driver";
}
Ошибка при запуске:
Error:(16, 18) java: no suitable constructor found for FirefoxDriver(org.openqa.selenium.firefox.FirefoxProfile)
constructor org.openqa.selenium.firefox.FirefoxDriver.FirefoxDriver(org.openqa.selenium.Capabilities) is not applicable
(argument mismatch; org.openqa.selenium.firefox.FirefoxProfile cannot be converted to org.openqa.selenium.Capabilities)
constructor org.openqa.selenium.firefox.FirefoxDriver.FirefoxDriver(org.openqa.selenium.firefox.FirefoxOptions) is not applicable
(argument mismatch; org.openqa.selenium.firefox.FirefoxProfile cannot be converted to org.openqa.selenium.firefox.FirefoxOptions)
constructor org.openqa.selenium.firefox.FirefoxDriver.FirefoxDriver(org.openqa.selenium.firefox.GeckoDriverService) is not applicable
(argument mismatch; org.openqa.selenium.firefox.FirefoxProfile cannot be converted to org.openqa.selenium.firefox.GeckoDriverService)
constructor org.openqa.selenium.firefox.FirefoxDriver.FirefoxDriver(org.openqa.selenium.firefox.XpiDriverService) is not applicable
(argument mismatch; org.openqa.selenium.firefox.FirefoxProfile cannot be converted to org.openqa.selenium.firefox.XpiDriverService)
1 ответ
Во время работы с Selenium 3.8.1
Вы можете использовать класс FirefoxOptions, который расширяет org.openqa.selenium.MutableCapabilities
работать с FirefoxProfile следующим образом:
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 FirefoxProfile_new {
public static void main(String[] args) {
System.setProperty(Utility.MOZILLA_DRIVER, Utility.MOZILLA_PATH);
FirefoxOptions options = new FirefoxOptions();
options.setProfile(new FirefoxProfile());
WebDriver driver = new FirefoxDriver(options);
driver.get("https://www.google.com");
}
}