Ruby 如何使用Watir Webdriver确定元素的坐标?

Ruby 如何使用Watir Webdriver确定元素的坐标?,ruby,watir-webdriver,Ruby,Watir Webdriver,我有个问题。解析页面时,会出现一个弹出窗口,阻止对html的访问。我试图点击弹出窗口,但它会将我重新导向一个新页面,我不知道如何进入弹出窗口的右上角区域来关闭它。我的问题是如何确定该元素的坐标?在Stackoverflow这里提出的任何相关问题都没有帮助我找到解决方案,因此非常感谢您的帮助 为什么需要实际坐标?这似乎是个坏主意,因为它可能会移动,或者在不同的屏幕尺寸(响应性设计)上产生不同的结果。您最好找到关闭按钮的类/id并调用browser.button(类:'close')。单击或浏览器。

我有个问题。解析页面时,会出现一个弹出窗口,阻止对html的访问。我试图点击弹出窗口,但它会将我重新导向一个新页面,我不知道如何进入弹出窗口的右上角区域来关闭它。我的问题是如何确定该元素的坐标?在Stackoverflow这里提出的任何相关问题都没有帮助我找到解决方案,因此非常感谢您的帮助

为什么需要实际坐标?这似乎是个坏主意,因为它可能会移动,或者在不同的屏幕尺寸(响应性设计)上产生不同的结果。您最好找到关闭按钮的类/id并调用
browser.button(类:'close')。单击
浏览器。链接(类:'close')。单击

如果需要帮助确定关闭按钮的类别,请打开浏览器并启用开发人员工具/控制台。它们现在都有一个检查器工具来选择元素并查找所有类和ID


在不太可能的情况下,没有类或ID,它可能有一个
data
属性,您可以使用它

如果弹出窗口是常规浏览器窗口,则可以按索引将其关闭。您的主窗口具有索引0。因此,弹出窗口具有索引1

if browser.window(:index => 1).exists?
     browser.window(:index => 1).close
end

我无法访问元素,这就是问题所在-我无法找到右上十字来关闭它。我可以点击元素本身,但它会将我重定向到一个新页面。由于这个弹出窗口,页面上的大多数元素都隐藏了定义“没有访问权限”,等等,你是说一个模式弹出窗口吗?或者你真的在谈论一个警报/确认对话框?如果它是一个警报,请使用以下命令:一次只能在一个页面上激活一个警报,并且有一个
存在?
方法来检查你是否试图关闭一些尚不存在的东西。我正在为银行页面编写一个解析器。我没有使用屏幕截图创建页面和编写解析器的凭据。在其中一个页面上,我有一个普通页面,而在下一个页面上,我无法处理一条消息。browser.alert.com是否存在?我没有访问html的权限,我只有一个屏幕!这里有机会共享屏幕吗?我是新来的!浏览器中的开发者工具应该可以让你看到HTML,检查工具可以让你看到正在发生的事情。很可能这并不是一个真正的窗口,只是一个Div或者其他一些元素在掩盖其他东西。如果你试图创建自动化,你真的需要访问HTML,屏幕截图将缺少你需要知道的关键信息。这张截图不起作用,因为有一个隐藏的溢出,我通过运行JS插件成功地消除了它。之后,一个简单的“browser.alert.ok”工作得很好。不过,谢谢你的回答!