寻找替代睡眠(30)in watir

时间:2017-05-28 08:31:48

标签: watir watir-webdriver

我正在尝试将页面加载应用于完全正常的睡眠,但我想避免使用它并寻找替代方案。

我尝试过这些选项:

@browser.element(:class => 'oo-pricing').wait_until(:timeout => 30) 

Watir::Wait @browser.span(:class => 'oo-blp-price').wait_until(:timeout => 30)

我的目标是等到跨度中的文本更新。

browser.goto('https://secure.bestprice.rankingsandreviews.com/nc/configurator/307715')

browser.element(:id => 's2id_select_style').click

browser.element(xpath: ".//*[@id='select2-drop']/div/input").send_keys('Convertible LT 1LT', :tab)

browser.element(id: 'edit_color').click

browser.span(text: 'Incentives').click

browser.element(text: "2017 GM Conquest Cash").parent.preceding_sibling.span.click

2 个答案:

答案 0 :(得分:0)

您正在使用Chrome驱动程序,Chrome驱动程序会自动关闭浏览器。如果您使用过Firefox驱动程序,则不会出现此问题,问题的解决方案是,

添加此代码

require 'watir'
caps = Selenium::WebDriver::Remote::Capabilities.chrome(chrome_options: {detach: true})
browser = Watir::Browser.new :chrome, desired_capabilities: caps

然后编写代码

browser.element(:id => 's2id_select_style').click

browser.element(xpath: ".//*[@id='select2-drop']/div/input").send_keys('Convertible LT 1LT', :tab)

browser.element(id: 'edit_color').click

browser.span(text: 'Incentives').click

browser.element(text: "2017 GM Conquest Cash").parent.preceding_sibling.span.click
browser.span(text: 'Save & Update').click #Updated

现在,您的Chrome浏览器在程序结束后不会关闭。

答案 1 :(得分:0)

找到您想要的元素,例如:

@browser.element(:class => 'oo-pricing')

在其上调用wait_until_present方法:

@browser.element(:class => 'oo-pricing').wait_until_present