Google chrome 我可以在Firefox中点击一个按钮——为什么不在Chrome中呢?
我在Chrome和Firefox上使用Watir WebDriver 使用FF,我可以单击以下按钮:Google chrome 我可以在Firefox中点击一个按钮——为什么不在Chrome中呢?,google-chrome,watir-webdriver,Google Chrome,Watir Webdriver,我在Chrome和Firefox上使用Watir WebDriver 使用FF,我可以单击以下按钮: @browser.button(:id => 'btnSubmit').when_present.click 使用Chrome,我得到以下信息: Selenium::WebDriver::Error::UnknownError: unknown error: Element is not clickable at point (730, 681). Other element would
@browser.button(:id => 'btnSubmit').when_present.click
使用Chrome,我得到以下信息:
Selenium::WebDriver::Error::UnknownError: unknown error: Element is not clickable at point (730, 681). Other element would receive the click: <div class="blockUI blockOverlay" style="z-index: 1000; border: none; margin: 0px; padding: 0px; width: 100%; height: 100%; top: 0px; left: 0px; background-color: rgb(0, 0, 0); opacity: 0.38143215011627357; cursor: default; position: fixed;"></div>
这在运行模式下失败,并出现相同的错误
如果我搜索整个页面,我找不到将接收单击的“其他元素”
<div class="blockUI.............
贾斯丁科:我都查过了 以下是开发商的评论: 这是一个模式的“请等待…”弹出窗口,在加载文档或执行某些耗时活动时会出现很短的时间。该代码由JQuery插件动态注入,并很快删除。这可能就是我们无法在文档源中找到它的原因 请记住,以下操作不起作用:
@browser.button(:id => 'btnSubmit').when_present(100).click
while !(@browser.button(:id => 'btnSubmit').visible?)
sleep(1)
end
@browser.button(:id => 'btnSubmit').click
但以下工作:
sleep(1)
@browser.button(:id => 'btnSubmit').click
所以目标元素总是存在的
以下操作不起作用:
@browser.button(:id => 'btnSubmit').when_present(100).click
while !(@browser.button(:id => 'btnSubmit').visible?)
sleep(1)
end
@browser.button(:id => 'btnSubmit').click
因此目标元素始终可见
解决方案是等待“其他元素”消失:
while (@browser.div(:class => 'blockUI blockOverlay').present?)
sleep(1)
end
@browser.button(:id => 'btnSubmit').click
而不是做:
while (@browser.div(:class => 'blockUI blockOverlay').present?)
sleep(1)
end
@browser.button(:id => 'btnSubmit').click
您应该能够做到:
@browser.div(:class => 'blockUI blockOverlay').wait_while_present
@browser.button(:id => 'btnSubmit').click
在查找覆盖div时,是否检查了实际的DOM(例如使用浏览器的开发者工具栏)或查看了页面源代码?