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