【问题标题】:Press on link inside table with vba on webpage用网页上的 vba 按下表格内的链接
【发布时间】:2019-11-01 08:19:51
【问题描述】:

我想出了如何导航到网页并让它搜索我的特定输入等等。但是,当我得到结果列表时,我无法让 vba 点击它。我尝试了不同的变体:

objIE.document.getElementById("isc_ListGrid_1_body$28s").Click

但我不知道如何按下特定的单元格(图中标记为蓝色):

https://imgur.com/inH25WQ

我没有收到任何错误,但它也没有点击它。

【问题讨论】:

  • 可以提供网址还是不公开?#
  • 我不能,不幸的是它不公开。如果需要,我可以提供更多代码吗?
  • 不太清楚如何提取所有代码,它仍然是可读的,而不仅仅是纯文本。 @QHarr

标签: html excel vba web-scraping automation


【解决方案1】:

你想要的是表的 id,而不是 div 的 id。然后是该表中的最后一个 td

例如

ie.document.querySelector("td:last-child").Click

换一种方式试试

Dim evt As Object
Set evt = ie.document.createEvent("HTMLEvents")
evt.initEvent "onclick", True, False

With ie.document.querySelector("td:last-child")
    .Focus
    .dispatchEvent evt
End With

或者

With ie.document.querySelector("td:last-child")
    .Focus
    .FireEvent "onclick"
End With

【讨论】:

  • Last id 是 isc_1Mtable,根据您的建议产生:objIE.document.querySelector("td:isc_1Mtable")。不幸的是,单击它不起作用
  • objIE.document.querySelector("isc_1Mtable").Click 也没有
  • 你确定这是正确的元素吗?因为它在 html 中没有指示可点击?
  • 是的,我确信我将鼠标悬停在正确的元素上。有没有其他方法可以让VBA点击它?
  • 在回答中尝试上面的其他两个选项
猜你喜欢
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 2016-02-05
  • 2019-04-18
相关资源
最近更新 更多