Selenium常用操作——iframe框架切换

iframe是html一种常用技术,在一个页面中嵌套另一个页面。selenium默认访问不了frame中的内容,这时需要进行切换。

目录

一.问题出现

二.切换iframe框架的方法

2.1 根据id切换

2.2 根据xpath切换


本文以网站为例。

一.问题出现

Selenium常用操作——iframe框架切换_第1张图片

按逻辑编写代码

"""iframe框架切换"""

from selenium import webdriver

url = 'https://qzone.qq.com/'

# 创建浏览器对象
driver = webdriver.Chrome()
driver.get(url)
# 登录
login = driver.find_element_by_id('switcher_plogin').click()
# 账号
accountText = driver.find_element_by_id('u').click()
# 密码
accounntPasswd = driver.find_element_by_id('p').click()
# 登录按钮
loginButton = driver.find_element_by_id('login_button').click()

运行报错

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="switcher_plogin"]"}

二.切换iframe框架的方法

2.1 根据id切换

# 切换iframe框架

driver.switch_to.frame('login_frame')

执行成功,成功跳转。

Selenium常用操作——iframe框架切换_第2张图片

2.2 根据xpath切换

# 切换iframe框架

el_path = driver.find_element_by_xpath('//*[@id="login_frame"]')
driver.switch_to.frame(el_path)

执行结果同上。

你可能感兴趣的:(自动化,selenium,python,chrome,前端)