第九篇--selenium Python API-iframe嵌套頁面切換


在一些網頁中經常會看到ifrmae/frame標簽,iframe是嵌入式框架一般用來在已有的頁面中嵌入另一個頁面,當一個元素在iframe里時我們應該先切換到iframe里面。

一、API語法

1.進入iframe

iframe = self.driver.find_element_by_xpath("//iframe[contains(@src,'https://wap.cmread.com/sso/auth?e_p=1&response_type=token')]")

self.driver.switch_to.frame(iframe)

2.釋放/退出iframe

driver.switch_to_default_content()

二、代碼實例

以咪咕閱讀網站登錄界面來實踐iframe的切換,我們直接進入登錄界面進行操作網址為http://www.cmread.com/u/tologin.do?preUrl=http%3A%2F%2Fwww.cmread.com%2Fu%2Findex

以下為HTML代碼結構:

 

代碼如下:

 

#author:命命
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.cmread.com/u/tologin.do?preUrl=http%3A%2F%2Fwww.cmread.com%2Fu%2Findex")
#通過contains函數,提取匹配特定文本的所有元素
frame = driver.find_element_by_xpath("//iframe[contains(@src,'https://wap.cmread.com/sso/auth?e_p=1&response_type=token')]")
#進入iframe頁面
driver.switch_to.frame(frame)
#清除賬號輸入框並輸入賬號
driver.find_element_by_id("unameInput").clear()
driver.find_element_by_id("unameInput").send_keys("輸入自己的用戶名")
#清除密碼輸入框並輸入密碼
driver.find_element_by_id("pwdInput").clear()
driver.find_element_by_id("pwdInput").send_keys("輸入自己的密碼")
#點擊登錄按鈕
driver.find_element_by_css_selector("input[name = 'login']").click()
#獲取登錄成功頁面的用戶名
success = driver.find_element_by_css_selector("span[title = '好的好的d']").text
print(success)
driver.quit()

 

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM