2012-09-13 30 views
1

幀選擇當試圖選擇一個列表元素的選擇,我試圖做的事:如何從用的Watir紅寶石寶石

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

但由於某些原因,而我使用的Watir在IRB訪問的網站和試圖操縱我得到這個異常的任何項目。

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用戶的討論的人。如有必要,請參閱以前的修訂版。

回答

2

,您的網頁使用了框架。與其他元素不同,您必須明確指定要使用的幀。

你可能想用ID「frmMain」的框架,所以嘗試:

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

我的猜測是,當您嘗試訪問它時,該元素不在頁面上。

試試這個(請注意when_present):

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

的更多信息:根據您添加的HTML http://watirwebdriver.com/waiting/

+0

不幸的是我在IRB我工作,讓似乎不太可能。我曾嘗試(在IRB中),但在60秒後超時。感謝您的等待信息。如果我真的能夠訪問多媒體,我相信它很快就會派上用場。 –

+0

由於此答案是預編輯的,因此您並未完全瞭解整個故事。我相信你會想出答案。再次感謝您的貢獻以及您支持我們Watir用戶的驚人方式。我在各地見過你。我不希望你覺得它被忽視或不被重視。 –

+0

不客氣。 :) –