2011-07-18 9 views
1

私が抱えている問題は、Bowser.text.includeを取得する方法を見つけることができないということです。 textincludeの値を調べるために、私がプログラムでこれを早く与えることをお勧めします。Browser.text.includeを取得するにはどうすればよいですか?変数を検索するには? (WatirとRubyを使用)

#{textinclude}は文字通り検索されているようですが、これは明らかに存在しません。


print('Enter your website: ') 

website = gets() 

puts("Testing #{website}") 

print('What text do you want to find? ') 

textinclude = gets() 

puts("Finding #{textinclude}") 

require 'watir' 

browser = Watir::IE.new 

browser.goto (website) 

if browser.text.include? " #{textinclude} " 

print("#{textinclude} present") 

else 

print("text not present") 

end 

あなたの助けに感謝:

これは私の現在のコードです。

おかげ

答えて

1

あなたのプログラムから貼り付けた正確なコードですか?

if browser.text.include? " #{textinclude} "のスペースを確認し、干渉していないことを確認してください。例えば。探している文がspaceではなくfullstopで実際に終了すると、私の経験上、include?がfalseを返す可能性があります。

Tapio Saarinenのように.chompが必要です。そうしないとtextinclude variableの末尾に\nが表示され、これを削除するとテキストを見つけることができます。

それがまだ失敗する場合だから私は、テキストがページ上のどこを考える、この

text_include = gets.chomp 
if browser.text.include?(text_include) 
puts "Found it" 
else 
puts "Didnt find it" 
end 

をしようとするだろう。ボタンの値にある場合、または実際にはページ上のtextでない場合、text.include?はそれをまったく見つけられません。

p.s.あなたの変数の名前を変更して正しく読めるようにしました:)

+0

私はこれをウェブサイトwww.google.comでテストし、Googleホームページの右上に表示される「高速」という言葉を検索しています。 – anonygoose

+0

これは....すごいですね。どうもありがとうございました。 :) – Benjamin

1

はこれを試してみてください:.chompを追加

if browser.text.include?(textinclude) 

代わりの

if browser.text.include? " #{textinclude} " 
+0

申し訳ありませんが、動作しません。 – Benjamin

1

てみた後に、検索する文字列に改行文字(複数可)を削除するには()を取得します

+0

申し訳ありませんが、これも機能しません。変数をbrowser.text.includeに取り込むことができるかどうかはわかりますか?コマンド? – Benjamin

+0

はい、可能です。 –

関連する問題