我想点击弹出窗口中的“分享位置”按钮分享我的位置。如何使用selenium webdriver处理此问题?请参阅下面的图片。
到达位置弹出窗口的步骤:
Try it
按钮位置弹出窗口将显示为:
答案 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的实例。