我们的网站在整个网站上有多个 javascript 弹出窗口。当您单击打开一个弹出窗口时,屏幕会稍微变灰并显示一个动画图像,然后一旦加载实际的弹出窗口。当弹出窗口关闭时,它会随着略带灰色的屏幕消失。我可以打开并使用 wait_until_present 单击关闭按钮,但我的测试总是失败,因为下一个元素不可单击。它适用于睡眠,但要远离它。我曾尝试对下一个元素使用其他等待方法,但无法找出最佳方法。下面是我正在尝试做的一个例子。
require 'watir-webdriver'
browser = Watir::Browser.new :chrome
browser.goto('www.hayneedle.com')
browser.img(:src, 'http://images.hayneedle.com/shared/images/HN_Free_Shipping_Easy_Returns_Low.png').click
browser.a(:id, 'hn_modal_close').wait_until_present
browser.a(:id, 'hn_modal_close').click
#this is the element that is not clickable because the popup is still closing
browser.a(:href, 'http://www.hayneedle.com/bath/').click