关于https页面使用ifream嵌套http页面

本文讲述了开发者在为https协议的网站嵌入http页面时遇到的问题,包括跨域限制和iframe空白页面。作者分享了尝试的无效方法和最终找到的window.location.href解决方案,以及相关的元标签和安全策略调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到了新的需求,我们公司协议为https的,要显示一个http的页面–跳到OA页面(必须显示这个页面),本以为很简单的,就一个iframe这不是很简单吗。嵌套进去不就行了。

问题从这里才真正开始 本地完美运行,搞定了。打包上到测试环境。嘣,空白页面。脑子一片空白 难道是需要动态设置宽高,设置之后没用。

在这里插入图片描述

1、找到了一种办法,在需要跨域的页面,添加一行代码: (对我来说无效)

   <iframe :src="linkurlQW" frameborder="0" id="content"></iframe> //frame 地址

 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">//添加meta 

2、window.location.href = url (可以打开)

 window.location.href;//当前页面打开 URL 页
### 处理嵌套 iframe 的方法 当遇到嵌套的 iframe 时,Selenium WebDriver 需要逐层进入每个 iframe 才能访问最深层的内容。以下是详细的解决方案: #### 方法描述 为了切换到嵌套的 iframe,可以按照以下方式逐步完成: 1. 使用 `driver.switch_to.frame()` 切换到外层 iframe。 2. 继续使用相同的命令切换到内层 iframe。 需要注意的是,在完成对某个 iframe 的操作后,可能需要返回默认上下文或者上一层 iframe。这可以通过调用 `driver.switch_to.default_content()` 或 `driver.switch_to.parent_frame()` 实现[^1]。 #### 示例代码 下面是一个完整的 Python Selenium 脚本示例,展示如何处理嵌套 iframe: ```python from selenium import webdriver from selenium.webdriver.common.by import By import time # 初始化浏览器驱动程序 (这里以Chrome为例) driver = webdriver.Chrome() try: # 访问目标页面 driver.get("https://example.com/page_with_nested_iframes") # 切换到外层 iframe outer_iframe = driver.find_element(By.ID, "outerIframeId") # 假设外层 iframe ID 是 'outerIframeId' driver.switch_to.frame(outer_iframe) # 切换到内层 iframe inner_iframe = driver.find_element(By.NAME, "innerIframeName") # 假设内层 iframe Name 是 'innerIframeName' driver.switch_to.frame(inner_iframe) # 对内层 iframe 中的目标元素执行操作 target_button = driver.find_element(By.XPATH, "//button[text()='Click Me']") target_button.click() # 返回至上一层面板(即回到外层 iframe) driver.switch_to.parent_frame() # 如果需要继续对外层 iframe 进行其他操作,则在此处编写逻辑 finally: # 结束测试前恢复至初始状态 driver.switch_to.default_content() driver.quit() ``` 上述脚本展示了如何依次切换到多个层次的 iframe 并对其内部元素进行交互[^2]。 #### 关键点说明 - **定位策略**: 可以通过多种方式定位 iframe,比如 index、id、name 或 WebElement 对象[^3]。 - **退出机制**: 完成当前 iframe 操作后务必记得退回到父级或根文档环境,否则后续操作可能会失败。 - **异常捕获**: 在实际应用过程中建议加入错误捕捉功能以便更好地调试和维护代码。 #### 注意事项 对于动态加载内容较多的情况,需考虑等待时间设置问题;可采用显式等待配合 expected_conditions 来提升稳定性[^4]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上遨游

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值