如何使用selenium webdriver处理浏览器中的地理位置弹出窗口?
单击弹出窗口上的“共享位置”按钮,我想共享我的位置。如何使用SeleniumWebDriver处理此问题?请参阅下图 到达位置弹出窗口的步骤:如何使用selenium webdriver处理浏览器中的地理位置弹出窗口?,selenium,selenium-webdriver,Selenium,Selenium Webdriver,单击弹出窗口上的“共享位置”按钮,我想共享我的位置。如何使用SeleniumWebDriver处理此问题?请参阅下图 到达位置弹出窗口的步骤: 导航到 单击右侧部分的尝试按钮 位置弹出窗口将显示为: 因此,如果要启动任何站点,出现此地理位置弹出窗口,您无法与此元素交互,因为它不是WebElement,因此您必须在浏览器启动站点之前处理它,因此,以下是启动浏览器所需的属性:- 对于Firefox: FirefoxProfile geoDisabled = new FirefoxProfile()
尝试
按钮因此,如果要启动任何站点,出现此
地理位置
弹出窗口,您无法与此元素交互,因为它不是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(capabilities);
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(cap);
对于铬:
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(capabilities);
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(cap);
希望有帮助
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的实例。要删除此弹出窗口可能存在重复项?@SaurabhGaur:我目前正在处理电子商务项目,任何用户都已登录,必须检查当前位置。这就是为什么我需要处理这个弹出窗口?那么,如何在弹出窗口中单击“共享位置”按钮?@SameerD这是selenium无法单击的
Share Location
按钮,您需要使用允许共享位置创建自定义配置文件,例如information@pArAs:我想删除此弹出窗口,但是使用SeleniumWebDriver。需要添加功能作为FirefoxDriver实例的参数。谢谢,我在任何地方都找不到这个!我找不到任何关于如何在NodeJS中实现这一点的好文档。另外,我正在寻找如何处理通知权限(而不是地理位置)