1. 程式人生 > >沒有id或者name的iframe

沒有id或者name的iframe

在定位的時候發現有些元素定位不到,最後發現有iframe。

       如果ifame 有name或id的話,直接使用switch_to_frame("name值")或switch_to_frame("id值"),這是最理想的方法,也是最簡單好用的方法。

       因為switch_to_frame()只能使用name和id,如果沒有name或id應該怎麼處理呢?       

[html] view plain copy print?在CODE上檢視程式碼片派生到我的程式碼片
  1. <divstyle="position:;">
  2.     <iframewidth="100%"height="100%"frameborder
    ="0"src="/MyAffairs/">
  3.         <htmlclass="panel-fit">
  4.             <head>
  5.                 <bodyclass="panel-noscroll"style="margin: 1px">
  6. </div>

       此時可以使用xpath先對iframe進行定位:iframe = find_element_by_xpath("//div/iframe")

       然後再使用switch_to_frame()函式:switch_to_frame(iframe)

       就是這簡單的兩步,問題解決!

       問題又來了,iframe我們進來了,那麼該怎麼出去呢,出不去就沒法操作其他元素。

       那就該使用:driver.switch_to_default_content(),返回到主content,也就是主介面中