【发布时间】:2015-12-11 08:21:19
【问题描述】:
我有一个很长的加载页面(很多图片),我只想在我需要的第一个元素出现后立即进行测试。我不想等到每个元素都完成加载。我该怎么做?
我当前代码的片段:
visit ...
expect(page).to have_selector('#block .item', minimum: 1)
驱动配置:
Capybara.register_driver :selenium do |app|
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 360
Capybara::Selenium::Driver.new(app, :browser => :chrome, :http_client => client)
end
【问题讨论】:
-
你可以尝试适应你的需要这个等待某个元素变得可见的例子:github.com/ariya/phantomjs/blob/master/examples/waitfor.js
-
@Vaviloff 我不太确定该怎么做,因为
wait_until已被删除,而这个在 js 中(我的代码在 ruby 中使用 capybara 选择器)。
标签: selenium rspec phantomjs capybara