excel - 单击定义为 DIV 的按钮,SVG 链接到 VBA 路径

标签 excel vba html web-scraping

我正在制作一个 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 事件结合使用的有用索引。

============================================= ========================== 编辑

获取上述代码需要三个步骤。

在下面的图片中,您将看到三个步骤。 第三个是我需要单击的按钮,在检查时会显示上述代码。 enter image description here

最佳答案

我不确定 div 是否可点击,但您可以使用 css attribute = value 选择器选择 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"

关于excel - 单击定义为 DIV 的按钮,SVG 链接到 VBA 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53867389/

相关文章:

javascript - 下拉菜单 - 如何将多个按钮链接到 JavaScript 函数

excel - 选择列直到找到一个值

Excel 不返回与 Google 表格相同的值

html - margin left 对 display flex 不起作用,但对 inner child 起作用如何?

html - css 三 Angular 形缺少提示

python - 如何在excel外执行vba宏

c# - 使用C#创建的excel文件保存时出现冲突,如何关闭提示对话框?

excel - 如何计算excel中的特定单元格

Excel:如何提取文本字符串中的文本直到分隔符

excel - 跳过类型不匹配