1

リスト要素のオプションを選択しようとしたとき、私は次のことを試みました。

myvar=ie.select_list(:id, 'myid').option(:text, 'mytext').select 

しかし、何らかの理由で、irbでWatirを使用してWebサイトにアクセスし、アイテムのいずれかを操作しようとすると、この例外が発生します。

Watir::Exception::UnknownObjectException: Unable to locate element...etc

ブラウザでページを見ていますが、.htmlを使用してもページ全体が表示されません。ページの残りの部分が非表示になっているようで、これにどのようにアクセスするかがわかりません。

irb(main):011:0> ie.html
=> "<HTML><HEAD><TITLE>My Title</TITLE>\r\n
<SCRIPT language=JavaScript type=text/javascript src=\"../../script.js\"></SCRIPT>\r\n</HEAD><FRAMESET id=mainFrameSet name=mainFrameSet rows=100%,0%><FRAME id=frmMain src=\"DefaultT.cfm?ID=2197024\" name=frmMain><FRAME id=frmHidden src=\"Dummy.html\" name=frmHidden scrolling=no></FRAMESET></HTML>" 

編集: これを振り返ってみると、私が抱えていた問題により正確に対処できるようにタイトルを変更しました。新しいウェイターユーザーがWatirやFramesなどの情報を見つけるのは困難でした。元のタイトルは「暗号化されたサイトでのWatirの使用」のようなものでした。私は質問を厳しく編集して、私が尋ねていたものの本質に到達しました。Webとプログラミング全般についての最小限の知識で、新しいRubyユーザーのとりとめのない話に答えようとした人々に感謝することはできません。必要に応じて、以前のリビジョンを参照してください。

4

2 に答える 2

2

追加したhtmlに基づいて、Webページはフレームを使用しています。他の要素とは異なり、使用するフレームを明示的に指定する必要があります。

IDが「frmMain」のフレームが必要になる可能性があるため、次を試してください。

myvar=ie.frame(:id, 'frmMain').select_list(:id, 'myid').option(:text, 'mytext').select 
于 2012-09-13T13:13:00.923 に答える
0

私の推測では、要素にアクセスしようとすると、その要素はページに表示されません。

これを試してください(注意してくださいwhen_present):

myvar=ie.select_list(:id, 'myid').when_present.option(:text, 'mytext').select 

詳細情報:http ://watirwebdriver.com/waiting/

于 2012-09-13T08:56:19.233 に答える