watir/ruby 等待 iframe 存在

watir/ruby waiting for iframe to exist

我在输入日期范围后等待 iframe 出现在页面上时遇到问题,我不想使用睡眠。我正在使用 ruby/watir

我试过这样的解决方案-

wait_until(10, "iFrame has not loaded") do
  @browser.iframe(id: "dtl00_DP1_content").exists?
end

但这只是 returns 这个错误 - Selenium::WebDriver::Error::NoSuchWindowError: 没有这样的 window

请问我该如何等待一个尚不存在的 iframe?

我不确定你是否只想等待 iframe,如果你想对 iframe 中存在的元素执行任何操作,那么你可以按照我在评论中提到的那样做。

@browser.iframe(name: "something").text_field(name: "username").set 'raja'

或者如果你还等一个iframe出现,那就写下面的代码

@browser.wait_until { @browser.iframe(id: "dtl00_DP1_content").exists? }

上面的代码等待30秒,但是如果你想增加等待的时间,那么写下面的代码,下面的代码会等待50秒。

@browser.wait_until(timeout: 50) { @browser.iframe(id: "dtl00_DP1_content").exists? }