excel - 单击定义为带有 SVG 的 DIV 的按钮,该 SVG 链接到带有 VBA 的路径
问题描述
我正在制作一张 Excel 表格,它从网上商店拍摄照片并将它们放在 Pinterest 上。
当我尝试提交图像 URL 时,我找不到执行点击事件的元素。
来自 Pinterest 的完整 HTML 代码。
<div data-test-id="website-link-submit-button" class="_50 _5a _6e _h _z7 _4q _j" style="height: 100%;">
<svg class="_u0 _3a _u1 _45" height="20" width="20" viewBox="0 0 24 24" aria-label="Verzenden" role="img">
<title>Verzenden</title>
<path d="M6.72 24c.57 0 1.14-.22 1.57-.66L19.5 12 8.29.66c-.86-.88-2.27-.88-3.14 0-.87.88-.87 2.3 0 3.18L13.21 12l-8.06 8.16c-.87.88-.87 2.3 0 3.18.43.44 1 .66 1.57.66"></path>
</svg>
</div>
我努力了:
Set HTMLButtons = HTMLDoc.getElementsByTagName("div")
For Each HTMLbutton In HTMLButtons
Debug.Print HTMLbutton.className
Next HTMLbutton
和
Set HTMLButtons = HTMLDoc.getElementsByTagName("svg")
For Each HTMLbutton In HTMLButtons
Debug.Print HTMLbutton.className
Next HTMLbutton
但他们都没有给我一个可以与 .click 事件结合使用的有用索引。
==================================================== ======================== 编辑
获得上述代码的三个步骤。
解决方案
我不确定 div 是否可点击,但您可以使用 css 属性 = 值选择器选择 div
ie.document.querySelector("[data-test-id='website-link-submit-button']")
你可以得到svg
ie.document.querySelector("[aria-label=Verzenden]")
你可以得到路径
ie.document.querySelector("[aria-label=Verzenden] > title + path")
您可以点击添加
.click
或者
.FireEvent "onclick"
到上面的结尾,例如
ie.document.querySelector("[aria-label=Verzenden]").click
ie.document.querySelector("[aria-label=Verzenden] > title + path").FireEvent "onclick"
推荐阅读
- dart - “x”类型的值不能分配给“T”类型的变量
- python - 有没有办法查看使用 pandas loc 时选择了多少个单元格/行?
- python - 将 Pygame 的鼠标点击检测改为串行输入
- python - 如果数字不是 10.000 触发错误建议的倍数,如何使用条件创建验证?
- c++ - C++ std::bind 函数作为类变量中的参数存储
- nuget - Dependabot 如何找到要在 PR 中显示的 CHANGELOG 文件?
- java - 需要在一个Java类的不同方法中访问不同的变量
- java - 在不知道超类的情况下执行接口方法
- powershell - 如何根据 azure 命令的输出在 powershell 中拆分字符串
- python - 考虑两个不同标准的字符串排序列表