javascript - jQuery:获取像检查这样的元素而不是源代码
问题描述
我正在构建一个 chrome 扩展程序,用于从 BigCommerce 管理员那里获取资金。但是 BigCommerce 管理员似乎是由 angular 构建的(我不知道 angular 是如何工作的),并且我无法从源代码中获取捕获按钮元素,该元素是由 angular iframe 动态添加的,如 ajax。
<iframe id="content-iframe" class="cp-iframe" frameborder="0"
ng-idle-watch-iframe="" iframe-manager="" post-message=""
ng-class="{ 'ui-hidden': !(MainCtrl.isIframeActive('cp')) }"
name="cp-iframe" ui-interaction="">
</iframe>
我可以获得订单详细信息页面,例如:your-bigcommerce-domain.com/admin/order/{order_id}/details
结果如下:
我们可以找到“获取资金”按钮,但它不可点击。
我只能通过浏览器检查看到可点击的捕获按钮。
jquery 是否可以从“检查”而不是源代码中获取元素?
捕获资金的操作链接是
your-domain.com/admin/order/{order-id}/capture-funds?authenticity_token=b3d4*************51b46abbdc1d9
但我不知道authenticity_token 来自哪里。
实际上,我已经尝试过以下方法来等待 chrome 浏览器完成加载所有元素:
setTimeout(function()
{
console.log($('button.capture-trigger').length);
$('button.capture-trigger').click();
}, 6000);
但它仍然无法正常工作。请问您还有其他想法吗?
解决方案
不幸的是,您无法从 Chrome 扩展程序访问 iframe 的 DOM(例如,请参阅从 chrome 的扩展程序内容脚本访问 iframe 内容)。
推荐阅读
- python - Python:响应浏览器然后继续删除文件
- .net - EF Core 一对多关系:ICollection 还是 Hashset?
- linux - ld-linux 动态链接器/解释器的相对可执行路径
- android - Android:如何在应用程序之间共享数据
- angular - i18n 文件在生产环境中缓存
- sql - FROM 中的子查询必须有别名 POSTGIS
- php - 根据 WooCommerce 中的产品自定义字段和产品类别隐藏添加到购物车按钮
- windows - Hadoop Windows 设置。运行 WordCountJob 时出错:“任何本地目录中都没有可用空间”
- assembly - 汇编 8086 中的 SHR 命令
- sql-server - 当我使用日期类型变量而不是硬编码日期时,为什么会出现“操作数类型冲突:日期与 int 不兼容”错误?