古詩詞大全網 - 成語查詢 - python+selenium遍歷iframe並且查找指定元素?

python+selenium遍歷iframe並且查找指定元素?

在使用Python+Selenium時,對於被包含在iframe中的元素,我們需要先切換到iframe,然後才能查找其中的元素。下面是使用Python+Selenium實現遍歷iframe並查找指定元素的示例代碼:

```python

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome() # 啟動Chrome瀏覽器

# 打開要測試的網頁

driver.get('')

# 查找以“iframe”為tag name的元素

iframes = driver.find_elements(By.TAG_NAME, 'iframe')

# 遍歷所有的iframe

for iframe in iframes:

# 切換到當前iframe

driver.switch_to.frame(iframe)

try:

# 等待要查找的元素加載完成

element = WebDriverWait(driver, 10).until(

EC.presence_of_element_located((By.ID, 'element_id'))

)

# 妳的邏輯代碼,比如獲取元素的文本內容

print(element.text)

except:

# 沒有找到元素,繼續下壹個iframe

continue

# 切換回父級iframe或者主文檔框架

driver.switch_to.default_content()

# 關閉瀏覽器

driver.quit()

```

以上代碼中,我們首先通過find_elements()方法查找所有的iframe元素,並依次遍歷,然後通過switch_to.frame()方法切換到當前的iframe。接著,使用WebDriverWait()方法等待要查找的元素加載完成,並使用presence_of_element_located()方法指定要查找的元素的查找方式(這裏使用的是id為“element_id”的元素),其余邏輯代碼參照註釋說明。最後使用switch_to.default_content()方法返回主文檔框架或父級iframe。