javascript - 根据 VBA 中的标题名称导航到网站的选项卡
问题描述
我正在尝试从 VBA 中的当前选项卡导航到下面 html 代码中显示的另一个选项卡。
<div title="0274 AP INVOICES SAP" data-bind="text: Name, attr: { title: Name }">0274 AP INVOICES SAP</div>
我尝试了以下方法:
ie.document.querySelector("[title*=AP INVOICES SAP].menu-row active-route").Click
但这给了我“对象'JScriptTypeInfo'的方法'querySelector'失败”错误,我还尝试了以下方法:
ie.document.querySelector("div[data-bind*='0274 AP INVOICES SAP']").Click
但这给了我“需要对象”错误。
我应该怎么做才能正确导航到此选项卡?如果您需要更多信息,请告诉我
解决方案
两行中的每一行都有一半的答案(语法方面)。
你需要
ie.document.querySelector("[title='0274 AP INVOICES SAP']").click
假设之前已经发生了适当的页面加载等待,并且此 title = value 组合是唯一的和/或您想要第一个;它不是动态的,并且它是点击事件的正确目标。
由于值字符串中的空格,您需要在其周围使用单引号。此外,在属性选择器之后,您不应该使用不属于目标元素的类选择器。
如果您继续收到 JScriptTypeInfo 错误,我之前在使用的页面上看到过knockoutjs
,您需要求助于 MS ScriptControl 和更多代码(在 32 位系统上) - 我不推荐,或者切换到使用一个 getElement(s) by 不应该发生此问题的方法。您最终会得到一个类似 VBA 调用 JSCriptTypeInfo 的对象的数组,如果您检查它,您很可能会看到一个字符串,它表示一个对象(节点)数组,我怀疑这些对象(节点)来自默认成员调用。
推荐阅读
- javascript - 迭代嵌套对象时修改对象键
- csv - 在 Unix 服务器上:无法将货币符号 (£,€) 从 json 解析为 .csv 文件
- postgresql - 如何连接到 Postgresql 数据库 - Openproject
- acumatica - 将 Excel 导入添加到现有 Acumatica 页面 - 无需重新定义数据视图
- c# - Autofac 核心依赖解析异常
- asp.net-core - Blazor Security - Razor Pages 自定义身份验证/安全性
- gitlab - gitlab如何在一台机器上并行运行多个管道?
- powershell - 使用计划任务根据文件名将文件移动到特定的 YY-MM 文件夹中
- cookies - 如何让 cookie 正确地与 Nuxt Apollo 和 SSR 一起使用?
- java - 列表大小由于某种原因回到零