我正在尝试使用 Webdriver 测试位置感知网站,并希望以编程方式(使用 WebDriver API 调用)单击当我单击 Web 应用程序的位置感知部分的链接时弹出的“共享位置”按钮。
它是一个浏览器提示,似乎不是 DOM 元素或 javascript 弹出元素。
我正在尝试使用 Webdriver 测试位置感知网站,并希望以编程方式(使用 WebDriver API 调用)单击当我单击 Web 应用程序的位置感知部分的链接时弹出的“共享位置”按钮。
它是一个浏览器提示,似乎不是 DOM 元素或 javascript 弹出元素。
万一有人有兴趣知道...我不相信您可以使用网络驱动程序单击该按钮,因为它不在 DOM 中(即不是网络文档的一部分),正如其他答案所建议的那样。但是,您可以创建 Firefox 配置文件来操作地理位置或在 Firefox 中将“共享位置”设置更改为“允许”。
有关更多信息,请参阅以下链接:http: //selenium.polteq.com/nl/change-geolocation-in-firefox-with-selenium-webdriver/
您应该手动启动一次 Firefox - 并选择您用于 Selenium 的配置文件。
输入about:permissions
地址行;找到您的主机的名称 - 并选择share location : "allow"
.
就这样。现在,您的 Selenium 测试用例将不会看到不在 DOM 中的可怕浏览器对话框。
您可以尝试通过 xpath 定位//input[@value="Share Location"]
它是一个,或者如果它是一个元素<input type=button>
,您可以尝试//button[contains(., "Share Location")]
<button>