首页 > 解决方案 > VBA 宏 - 如何单击 Java 网页中的链接

问题描述

我想从网页中获取数据。

web adress: https://intvrg.gib.gov.tr/intvrg_side/main.jsp?token=d1078f5e3dc646b78d5d4e5842f21e97feb48d366bc7617458b6679dec12675154a01fccc42292bb04d926bc259dbc75e39dd8e202535fd70a7098396c74a6f7

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

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

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

但是,我无法导航到“Vergi Kimlik Numarası Dogrulama”。我试过了:

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

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

网页源代码

我怎样才能进入那个页面?

标签: vbaweb-scraping

解决方案


问题是它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

推荐阅读