'''
環境:
Python 3.8
selenium==3.141.0
urllib3==1.26.19
'''
'''
說明:
driver.switch_to.frame() # 將當前定位的主體切換為frame/iframe表單的內嵌頁面中
driver.switch_to.default_content() # 跳回最外層的頁面
'''
# 判斷元素是否在 frame/ifame 中

# 126 郵箱為例
# -*- coding: UTF-8 -*-from selenium import webdriver
import time# 谷歌瀏覽器位置
CHROME_PATH = r'xxx\\chrome.exe'
# 谷歌瀏覽器驅動地址
CHROMEDRIVER_PATH = r'xxx\\chromedriver.exe'options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
options.binary_location = CHROME_PATH
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)driver.get('https://www.126.com/')# 調到 ifame
iframe = driver.find_element_by_tag_name('iframe')
driver.switch_to.frame(iframe)element = driver.find_element_by_name('email')
element.send_keys('xiaoxiao')# 跳回最外層的頁面
driver.switch_to.default_content()
element = driver.find_element_by_link_text('注冊新賬號')
element.click()time.sleep(10)
driver.quit()
'''
參考:
【web端自動化】如何判斷頁面元素是否嵌套在iframe里面
https://blog.csdn.net/lanniya152/article/details/124364417python自動化測試selenium(四)切換頁面、切換窗口
https://blog.csdn.net/u010835747/article/details/125501993web自動化:4.2selenium如何實現iframe窗口的切換(3種方法)
https://blog.csdn.net/weixin_48415452/article/details/120035381python+selenium(11)---操作id為動態變化的frame(iframe)
https://blog.csdn.net/wjgccsdn/article/details/113935626Selenium之link_text和partial_link_text定位
https://blog.csdn.net/dpl12/article/details/102847074
'''