使用selenium處理html的時候,遇到通過“iframe”標簽實現的網頁嵌套了,這個沒有問題。但是,仔細再看,就發現,“iframe”標簽下還有個#document==0,有點不講武德。如圖:

各種查資料,沒有找到有價值的信息。
解決方案1:
最后我就直接在html中把 “#document” 這行給刪了,然后就正常了。
解決方案2:
遇到了這篇文章: https://www.pythonf.cn/read/159594, 感謝大佬指點。
操作流程是:
進入frame框架內,獲取frame框架頁面源碼,(解析frame源代碼),退出frame框架
具體代碼:
from selenium import webdriver driver = webdriver.Chrome() url = XXXXXXXXXXX #自己把地址補充 driver.get(url) #############流程1 # 通過switch_to.frame進入frame框架頁面,有下面四種情況 driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) # 1.用WebElement對象來定位,發現所有iframe,並把第一個賦值 # driver.switch_to.frame("frame1") # 2.用id來定位 # driver.switch_to.frame("myframe") # 3.用name來定位 # driver.switch_to.frame(0) # 4.用frame的index來定位,第一個是0 ##############流程2 frame_html = driver.page_source # 響應為 str 格式 # 切換為frame框架頁面后,可以通過BeatifulSoup等工具解析frame_html網頁代碼 ##############流程4 # 從frame中切回主文檔(switch_to.default_content()) driver.switch_to.default_content() html = driver.page_source # 這里的html變回主頁面的了
這個套操作下來,嵌套的html內容就拿到了,因為 響應 frame_html 為 str 格式,
但是,我最初的目的是:想檢測這個嵌套的html是多長時間加載完的,最終還是沒有找到方法。
