ここには複数の while ループに関する有益な情報がたくさんありますが、.include で機能するものはありませんでした。
次のwhileループを機能させようとしていますが、役に立ちません。助けていただければ幸いです。
while browser.text.include? 'No results found for' || browser.text.include? '- did not match any documents.'
単に括弧を追加する必要がある可能性はありますか?
例えば:
[22] pry(main)> a=[1]
=> [1]
[23] pry(main)> a.include? 2
=> false
[24] pry(main)> a.include?2 || a.include?3
SyntaxError: unexpected tINTEGER, expecting end-of-input
[24] pry(main)> (a.include?2) || (a.include?3)
=> false
[25] pry(main)>
値が 2 つしかない場合でも、データをロジックから分離するのが本当に好きです。
no_result_strings = ['No results found for', '- did not match any documents.']
while no_result_strings.any?{|no_result| browser.text.include?(no_result)} do
puts 'found no result, will continue.'
end
#Or, if browser.text is a string and you want it shorter:
while no_result_strings.any?{|x|browser.text[x]} do
puts 'found no result, will continue.'
end