VBA宏-如何在Java网页中单击链接

时间:2019-02-05 07:21:55

标签: vba web-scraping

我想从网页获取数据。

网络地址: https://intvrg.gib.gov.tr/intvrg_side/main.jsp?token=d1078f5e3dc646b78d5d4e5842f21e97feb48d366bc7617458b6679dec12675154a01fccc42292bb04d926bc259dbc75e39dd8e202535fd70a7098396c74a6f7

在此页面之后,我单击右侧框的“ Diger Sorgulamalar”,然后尝试单击“ Vergi KimlikNumarasıDogrulama”

导航到网页后,使用vba代码,我可以单击带有代码的第一个链接:

IE.document.getElementById("gen__1155").Click 

但是,我无法导航到“ Vergi KimlikNumarasıDogrulama”。我尝试过:

IE.document.getElementById("H7d190dfed4bed-faf6170603664e").Click

但这不起作用。 Web源代码如下所示。

websourcecode

我怎么去那个页面?

1 个答案:

答案 0 :(得分:0)

问题是H7d190dfed4bed-faf6170603664e没有出现在您发布的HTML代码中,因此找不到它。因此,每次访问页面时ID可能都会更改,因此您无法对ID进行硬编码。

您需要查找其他内容才能确定正确的链接。链接名称Vergi Kimlik Numarası Dogrulama是否始终相同?

然后,您可以遍历所有链接并检查以找到标签的名称:

For Each lnk In IE.document.GetElementByTagName("a")
    If lnk.innerHTML = "Vergi Kimlik Numarası Dogrulama" Then
        lnk.Click
        Exit For 'if there is only one link with that name you can exit here.
    End If
Next lnk