如何使用selenium webdriver在浏览器中处理Geo Location弹出窗口?

时间:2016-08-04 12:38:18

标签: selenium selenium-webdriver

我想点击弹出窗口中的“分享位置”按钮分享我的位置。如何使用selenium webdriver处理此问题?请参阅下面的图片。

到达位置弹出窗口的步骤:

  1. 导航至this URL
  2. 点击右侧部分的Try it按钮
  3. 位置弹出窗口将显示为:

    https

2 个答案:

答案 0 :(得分:4)

因此,如果要启动任何网站,请先显示GeoLocation弹出窗口,您不能与此元素进行互动,因为它不是WebElement,因此您必须在此之前处理它浏览器启动一个站点,以下是您需要设置以启动浏览器的属性: -

对于Firefox:

FirefoxProfile geoDisabled = new FirefoxProfile();
geoDisabled.setPreference("geo.enabled", false);
geoDisabled.setPreference("geo.provider.use_corelocation", false);
geoDisabled.setPreference("geo.prompt.testing", false);
geoDisabled.setPreference("geo.prompt.testing.allow", false);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, geoDisabled);
driver = new FirefoxDriver();

对于Chrome:

ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("test-type");
options.addArguments("enable-strict-powerful-feature-restrictions");
options.addArguments("disable-geolocation");
cap.setCapability(ChromeOptions.CAPABILITY, options);
cap = cap.merge(DesiredCapabilities.chrome());
driver = new ChromeDriver();

希望它有所帮助!

答案 1 :(得分:0)

    FirefoxProfile geoDisabled = new FirefoxProfile();
    geoDisabled.setPreference("geo.enabled", false);
    geoDisabled.setPreference("geo.provider.use_corelocation", false);
    geoDisabled.setPreference("geo.prompt.testing", false);
    geoDisabled.setPreference("geo.prompt.testing.allow", false);
    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setCapability(FirefoxDriver.PROFILE, geoDisabled);

    WebDriver driver;
    System.setProperty("Driver_Name", "Driver_path");
    driver =new FirefoxDriver(geoDisabled);

需要传递FirefoxProfile的实例。