1
我試圖在html頁面上填寫表單,我相信它包含在框架中。 html的相關部分如下所示:如何使用python selenium訪問框架
<frameset rows="*" cols="*,183" frameborder="NO" border="0" framespacing="0">
<frameset rows="61,28,*,0,0" cols="*" frameborder="NO" border="0" framespacing="0">
<frame src="fr1_tab1.jhtml?NUM1=1462489510565" scrolling="NO" noresize name="frame1" title="page header - navigation">
<frame src="fr4_top.jhtml?NUM1=1462489510565" scrolling="NO" noresize name="frame1b" title="page header - search">
<frame name="frame4" title="main body" src="processShowMyPeapodPage2.jhtml?NUM1=1462489510565" noresize scrolling="AUTO">
<frame src="frame6.jhtml" marginwidth="0" marginheight="0" name="frame6" noresize frameborder="NO" border="0" title="empty">
<frame src="frame8.jhtml" marginwidth="0" marginheight="0" name="frame8" noresize frameborder="NO" border="0" title="empty">
</frameset>
我正在查找的相關信息位於frame1b內部。使用Selenium,我已經證實,frame1b確實位於頁面上:
<code>
for thing in driver.find_elements_by_tag_name('frame'):
print thing.get_attribute('name')
</code>
,輸出:
frame1
frame1b
frame4
frame6
frame8
frame2
frame3
cancelFrame
frame5
frame6
所以經過這一切,我嘗試使用driver.switch_to_frame('frame1b')
,但我得到的錯誤NoSuchFrameException: Message: no such frame
。
我的問題是,我怎麼能進入這個框架,或者如果沒有必要進入這個框架來訪問它的一個窗體,我該如何直接訪問窗體?
好從螢火 –
檢查你的框架或元素後,有截圖這是從90年代一個網站?我還沒有看到這些過時的幀......這裏最好的選擇是使用switch_to_frame函數切換到該幀 –