新闻中心
获取 J*aScript 重定向的 URL 而不改变当前页面

本文介绍了一种使用 Selenium 获取由 J*aScript 代码触发的重定向 URL,同时保持在当前页面不跳转的方法。通过修改 J*aScript 代码,将目标 URL 存储到全局变量中,然后使用 Selenium 获取该变量,从而避免页面跳转。该方法适用于按钮触发复杂 J*aScript 函数的情况,绕过直接点击按钮导致页面重定向的问题。
在 Web 自动化测试中,经常会遇到点击按钮后由 J*aScript 代码触发页面重定向的情况。直接使用 driver.current_url 获取 URL 会导致页面跳转,这在某些场景下是不可接受的,例如需要在当前页面继续执行其他操作。本文提供了一种解决方案,通过修改 J*aScrip
t 代码,在不跳转页面的情况下获取目标 URL。
核心思路:
- 定位导致重定向的 J*aScript 代码。
- 修改 J*aScript 代码,阻止重定向,并将目标 URL 存储到全局变量。
- 使用 Selenium 执行 J*aScript 代码,获取全局变量中的 URL。
具体步骤:
步骤 1:定位 J*aScript 代码
首先需要找到负责重定向的 J*aScript 代码。Chrome 开发者工具提供了强大的调试功能,可以帮助我们定位代码。
- 打开 Chrome 开发者工具 (F12)。
- 切换到 "Sources" (或 "源代码") 标签。
- 使用 Event Listener Breakpoints 功能。在 "Event Listener Breakpoints" 面板中,展开 "Script" (或 "脚本"),勾选 "click" 事件。
- 点击页面上的目标按钮。
- 开发者工具会自动在 J*aScript 代码中暂停,方便我们逐步调试,找到负责重定向的代码。 还可以添加 Event Listener Breakpoints for the load event。
步骤 2:修改 J*aScript 代码
找到负责重定向的代码后,需要修改它,阻止页面跳转,并将目标 URL 存储到全局变量 target_url 中。
例如,如果 J*aScript 代码如下:
window.location.href = "https://www.example.com/new_page";
可以修改为:
AI Surge Cloud
低代码数据分析平台,帮助企业快速交付深度数据
87
查看详情
target_url = "https://www.example.com/new_page"; // window.location.href = "https://www.example.com/new_page"; // 注释掉重定向的代码
步骤 3:使用 Resource Override 扩展自动修改 J*aScript 代码
手动修改 J*aScript 代码比较繁琐,可以使用 Chrome 扩展 Resource Override 来自动完成。
Resource Override 允许我们拦截特定的网络请求,并使用本地文件替换响应内容。
- 安装 Resource Override 扩展。
- 配置 Resource Override,拦截包含重定向代码的 J*aScript 文件。
- 使用修改后的 J*aScript 文件替换原始文件。
步骤 4:Selenium 获取 URL
在 Selenium 中,可以使用 driver.execute_script() 方法执行 J*aScript 代码,并获取全局变量 target_url 的值。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("your_website_url")
# 点击按钮 (假设按钮的 id 是 "my_button")
button = driver.find_element("id", "my_button")
button.click()
# 获取 target_url 的值
my_target_url = driver.execute_script("return target_url;")
print(my_target_url)
driver.quit()注意事项:
- 确保在执行 driver.execute_script() 之前,J*aScript 代码已经执行完毕,并且 target_url 已经被赋值。
- 如果 J*aScript 代码中使用了异步操作,需要等待异步操作完成后再获取 target_url 的值。
- 如果页面上存在多个按钮触发 J*aScript 重定向,需要为每个按钮设置不同的全局变量名,例如 target_url1、target_url2 等。
总结:
通过修改 J*aScript 代码,我们可以绕过页面重定向,在不改变当前页面的情况下获取目标 URL。这种方法适用于按钮触发复杂 J*aScript 函数的场景,为 Web 自动化测试提供了更大的灵活性。使用 Resource Override 扩展可以自动化修改 J*aScript 代码,提高效率。
以上就是获取 J*aScript 重定向的 URL 而不改变当前页面的详细内容,更多请关注其它相关文章!
# 可选
# 辽宁省项目推广网站查询
# 美食线上推广营销策划
# 网站引流推广句子
# 城厢区网站推广
# seo点击源码2021
# wordpres seo插件
# 海外美妆推广网站有哪些
# 网站建设课程广告词
# 金属材料网站优化公司
# 做百度关键词排名
# 如何实现
# 如何使用
# javascript
# 并将
# 适用于
# 而不
# 可以使用
# 全局变量
# 跳转
# 重定向
# webdriver
# win
# 工具
# java
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
如何创建没有密码的Windows本地账户_跳过微软账户登录的技巧【教程】
微信商城在哪里打开【步骤】
使用 Pandas 高效处理 .dat 文件:数据清洗与数值计算实战
Yandex官方入口网址 Yandex俄罗斯搜索引擎最新在线地址
192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台
电脑IP地址怎么查 查看本机IP地址的几种方法
CSS布局:解决全屏元素100%尺寸与外边距导致的页面溢出问题
C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用
12306选座怎么选到特殊座位_12306特殊座位选择注意事项
如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】
漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口
163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航
sublime怎么设置启动时打开的窗口_sublime会话管理与热退出
c++中的std::launder有什么实际用途_c++对象生命周期与指针优化
uc浏览器网页版极速入口 uc网页浏览器网页版流畅体验
React Router v6 教程:构建认证保护的私有路由与重定向策略
c++中为什么推荐使用using替代typedef_c++现代化类型别名
《刺客信条4:黑旗》重制版新细节曝光:无缝加载 地图更细致!
html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】
J*aScript:在map操作中高效处理空数组
知音漫客正版漫画平台_知音漫客官网账号登录
打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门
如何使用J*aScript精确选择并批量修改特定父元素下子链接的样式
C++如何实现单例模式_C++设计模式之线程安全的单例写法
《马克思佩恩3》早期版本曝光 UI设计曾多次调整!
C#中解析不规范的HTML为XML 常见的坑与解决办法
将HTML Canvas内容转换为可上传的图像文件(File对象)
Highcharts 雷达图径向轴标签定制指南:利用多Y轴实现数值标注
Go语言中对Map值调用带指针接收者方法:原理与最佳实践
如何在CSS中使用visited与link控制链接颜色_visited link伪类配合
《主播少女的秘密账号迷宫》首支宣传片
poki网页游戏推荐_poki免费游戏平台入口
age动漫网站入口 age动漫官网直接访问入口
Pyrogram与g4f集成:异步编程实践与常见错误解决
如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单
2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析
Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明
响应式容器内容自动缩放与宽高比维持教程
QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口
C++ explicit关键字防止隐式转换_C++构造函数安全规范
凉拌黄瓜怎么拌更入味 凉拌黄瓜简单家常做法
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException
消息称三星明年 2 月正式发布 HBM4,与 SK 海力士同台竞技
抖音极速版最新版本 抖音极速版官方下载地址
Mac怎么锁定备忘录_Mac备忘录加密设置教程
TikTok搜索不到用户发布内容怎么办 TikTok用户内容搜索优化方法
React Hooks最佳实践:动态组件状态管理的组件化方案
照顾宝贝2小游戏免费秒玩入口
Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南


2025-10-21
浏览次数:次
返回列表