я следующие строки кода:Ошибка при отображении HTML-элемента в Watir
if @browser.text_field(:id => "street").exists?
puts "street exist"
puts @browser.text_field(:id => "street").html
else
puts "street does not exist"
end
Но после того, как работает этот, я получил сообщение об ошибке:
Run options:
# Running tests:
street exist
E
Finished tests in 90.183158s, 0.0111 tests/s, 0.0000 assertions/s.
1) Error:
test_login(TC_Login):
Selenium::WebDriver::Error::JavascriptError: invalid 'in' operand a
[remote server] http://sam.org/user/ line 68 > Function:18:in `G'
[remote server] http://sam.org/user/ line 68 > Function:18:in `anonymous/</<'
[remote server] http://sam.org/user/ line 68 > Function:15:in `anonymous/<'
[remote server] http://sam.org/user/ line 68 > Function:15:in `anonymous'
[remote server] http://sam.org/user/:68:in `handleEvaluateEvent'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/default.rb:66:in `request'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/bridge.rb:640:in `raw_execute'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/bridge.rb:618:in `execute'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/bridge.rb:339:in `executeScript'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/common/driver.rb:193:in `execute_script'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.11/lib/watir-webdriver/atoms.rb:20:in `execute_atom'
c:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.11/lib/watir-webdriver/elements/element.rb:290:in `outer_html'
excel.rb:279:in `test_login'
1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
элемент уже существует. И когда я пробую puts @browser.html
, он отображает весь источник страницы. Моя цель - отобразить только определенный элемент HTML. И я попробовал строки кода выше. И я не понимаю, что говорит ошибка.
Что вы пытаетесь сделать? 'помещает 'текст в' text_field'? Трудно сказать, что вы просите. – orde
Я прошу указать источник страницы элемента – eunice
Используете ли вы FF35? Похоже на это. Если это так, у него есть [вопросы] (https://code.google.com/p/selenium/issues/detail?id=8390), поэтому вы можете перейти на FF34. '@ browser.text_field (: id =>" foo "). html' должен возвращать HTML для определенного элемента и' @ browser.text_field (: id => "foo"). value' должен возвращать текст в пределах текстовое поле. YMMV. – orde