Файлы Прочитайте и поместите их в цикл со многими отношениями к одному Ruby

Я пытаюсь назначить переменную в методе watir после прочтения текстового файла. Я использую следующий метод. В цикле первый цикл работает нормально, но во втором цикле он показывает ошибку.

Мой код выглядит следующим образом:

file = File.new("states.txt", "r")
contentsArray=[]  # start with an empty array
file.each_line {|line|
contentsArray.push line
}

browser = Watir::Browser.new
browser.goto 'http://example.com'

for y in 0..2 do
puts state=contentsArray[y]
browser.text_field(:name => 'Keyword').set 'Pediatrics'
browser.text_field(:name => 'Address').set "#{state}"browser.div(:id => 'uniform-formSearchDoctorBtn').fire_event :click

browser.link(:class => "start-over pull-right gen-button").click
end

произошла следующая ошибка.

`assert_exists': unable to locate element, using {:id=>"uniform-formSearchDoctorBtn", :tag_name=>"div"} (Watir::Exception::UnknownObjectException)

Где, когда я помещаю статический массив вместо contentsArray

contentsArray=Array['AL','AK','AZ','AR']

Тогда код работает нормально.

0

Решение

Да Получил решение с помощью Джастина.
если вы выводите contentArray, вы, скорее всего, получите

["AL\n", "AK\n", "AZ\n", "AR"]

Обратите внимание, что есть «\ n», который является символом разрыва строки. Вы хотите зачеркнуть разрыв строки, изменив строку contentsArray.push на

contentsArray.push line.strip

Для получения дополнительной информации см. Вопрос Как удалить возврат каретки с помощью Ruby? — Джастин Ко

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]