selenium+python處理iframe切換有3種方法:
1、如果iframe有id或name,則可根據(jù)iframe的id或name切換。
2、把iframe當(dāng)作頁面元素,通過元素定位表達式進行切換。
3、將iframe存儲到list中,然后根據(jù)ifrane的索引定位 (適合頁面有多個iframe,且前兩種方法無法使用)。
如果頁面有多層iframe嵌套,則需要一層一層往內(nèi)切換,切出iframe則只需要一次操作。selenium+python具體代碼示例如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-508151.html
import time
from selenium import webdriver
# 實例化瀏覽器,訪問目標(biāo)網(wǎng)頁,窗口最大化
driver = webdriver.Chrome()
driver.get("http://www.eteams.cn/")
driver.maximize_window()
driver.implicitly_wait(5)
# 切換到iframe中,針對多層嵌套的iframe,需要一層一層往里切換,切出去只需一次
# 方法:1:根據(jù)iframe的id或name切換
driver.switch_to.frame("needit")
driver.switch_to.frame("ueditor_0")
driver.switch_to.default_content()
# 方法2:把iframe當(dāng)作頁面元素進行切換
iframe1 = driver.find_element_by_css_selector("iframe.needit")
driver.switch_to.frame(iframe1)
iframe2 = driver.find_element_by_css_selector("iframe[frameborder='0']")
driver.switch_to.frame(iframe2)
driver.switch_to.default_content()
# 方法3:將iframe存儲到list中,然后根據(jù)ifrane的索引定位
iframeElements = driver.find_elements_by_tag_name("iframe")
print("iframe List的長度是:"+str(len(iframeElements)))
driver.switch_to.frame(0)
driver.switch_to.frame(1)
driver.switch_to.default_content()
driver.quit()
文章來源:http://www.zghlxwxcb.cn/news/detail-508151.html
到了這里,關(guān)于selenium+python處理iframe切換的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!