python+selenium初級(6)—通過切換iframe定位元素

來源:互聯網
上載者:User

1.frame和iframe的區別:

frame是整個頁面的架構,iframe是內嵌的架構

Iframe標記又叫浮動幀標記,可以用它將一個HTML文檔嵌入在一個HTML中顯示。它和Frame標記的最大區別是在網頁中嵌入 的<Iframe></Iframe>所包含的內容與整個頁面是一個整體,而<Frame>< /Frame>所包含的內容是一個獨立的個體,是可以獨立顯示的。另外,應用Iframe還可以在同一個頁面中多次顯示同一內容,而不必重複這段內 容的代碼

2.使用id,name定位

#coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get('http://mail.163.com')driver.switch_to.frame('x-URS-iframe')driver.find_element_by_id('auto-id-1513149691275').send_keys('18707718538')driver.find_element_by_id('auto-id-1513149691276').send_keys('111111')
注意:selenium自動聲稱的switch_to_frame被劃線,可以改為switch_to.frame
3.如果iframe沒有id或name怎麼定位。

這位元素的方法有八種,我們可以使用xpath或者tag定位

4.釋放iframe

當在iframe上操作完畢,想回到首頁上繼續操作,就必須先釋放iframe在操作

#coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get('http://mail.163.com')driver.switch_to.frame('x-URS-iframe')driver.find_element_by_id('auto-id-1513149691275').send_keys('18707718538')driver.find_element_by_id('auto-id-1513149691276').send_keys('111111')#釋放iframedriver.switch_to_default.content()

5.如何確定頁面上元素是否在iframe架構中

1.定位到元素後,切換到firepath介面

2.看firebug工具左上方,如果顯示Top Window說明沒有iframe

3.如果顯示iframe#xxx這樣的,說明在iframe上,#後面就是它的id

4.也可以查看原始碼,看是否目標元素在iframe架構中



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.