0

ページ内の正規表現を検索しようとするとエラーが発生します。以下を使用して実際に正規表現を見つけましたが、さまざまなエラーが発生します。

...
browser.script.html.include? "event49"

エラーはブラウザ(および場合によっては環境)に依存しているようです。Safari、Chrome、Firefoxの間でテストを行ってきました。Firefoxには断続的な問題があるようです。Chrome、ほぼ一定。私もこれを私のPCとMacの間でテストしました、そしてそれは全面的に標準のようです。

Safariに問題はありません。

このエラーはFirefoxからのものです:

[remote server] resource://fxdriver/modules/web_element_cache.js:7204:in `fxdriver.cache.getElementAt': Element not found in the cache - perhaps the page has changed since it was looked up (Selenium::WebDriver::Error::StaleElementReferenceError)

このエラーはChromeからのものです:

/Library/Ruby/Gems/1.8/gems/selenium-webdriver-2.29.0/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok': getElementTagName execution failed; (Selenium::WebDriver::Error::StaleElementReferenceError)
Element does not exist in cache

どんな助けでも大歓迎です!

アップデート:

以下のスクリプトを参照してください。

require "rubygems"
require "watir-webdriver"
require "watir-webdriver-performance"
require "rspec"
include Watir
require 'logger'

browser = Watir::Browser.new :chrome

test_site = 'http://laughlin:driveafirestone@fcac-rebrand.laughlin.com/'
browser.goto(test_site)

year_select = browser.select_list(:id => 'universal-year')
browser.select_list(:id => 'universal-year', :disabled => 'disabled').wait_while_present
year_select.select '2010'

make_select = browser.select_list(:id => 'universal-make')
browser.select_list(:id => 'universal-make', :disabled => 'disabled').wait_while_present
make_select.select 'Volkswagen'

model_select = browser.select_list(:id => 'universal-model')
browser.select_list(:id => 'universal-model', :disabled => 'disabled').wait_while_present
model_select.select 'Jetta'

submodel_select = browser.select_list(:id => 'universal-submodel')
browser.select_list(:id => 'universal-submodel', :disabled => 'disabled').wait_while_present
submodel_select.select '2.0T TDI Sedan'

zipcode_input = browser.text_field(:id => 'universal-selectorZip')
zipcode_input.set '53202'

browser.button(:id => 'universal-submit-tires-quote').click

browser.script.html.include? "event49"

browser.close
4

1 に答える 1

0

使ってみてはどうですか

Watir::Wait.until(30) { browser.text.include? "event49" }
于 2013-01-29T20:23:10.400 に答える