如何在 WebDriver 中處理框架?
我們可以在 Selenium WebDriver 中處理框架。html 程式碼中的框架由 frames/iframe 標籤表示。Selenium 可以透過將 WebDriver 訪問權從主頁切換到框架來處理框架。
下面列出了處理框架的方法:-
driver.switch_to_frame("frame name") - frame name 是框架的名稱。
driver.switch_to_frame("framename.0.frame1") - 用於透過點分隔路徑來訪問框架中的子框架。在此處,它將指向具有名稱 frame1 的框架,它是由名稱為 framename 的框架的第一個子框架。
driver.switch_to_default_content() - 用於將 WebDriver 訪問權從框架切換到主頁。
讓我們看看框架中元素的 html 程式碼。

上圖中高亮的標記名稱是 frame,並且 name 屬性的值是 frame_bottom。
示例
程式碼實現
from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#implicit wait time
driver.implicitly_wait(5)
#url launch
driver.get("https://the-internet.herokuapp.com/nested_frames")
#switch to frame
driver.switch_to.frame('frame-bottom')
#identify source element
s = driver.find_element_by_tag_name("body")
#obtain text
t = s.text
print('Text is: ' + t)
#quit browser
driver.quit()輸出

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式語言
C++
C#
MongoDB
MySQL
Javascript
PHP