【发布时间】:2021-02-09 07:17:06
【问题描述】:
我试图使用 VBA 从以下网页中抓取数据:
https://www.kap.org.tr/tr/bildirim-sorgu
在搜索项目之前,我首先需要在下方的多选按钮中输入一些条件。这就是我的问题开始的地方。我正在尝试单击位于“通知类型”下的“所有通知”选项卡。但是有些我无法做到这一点。 1
我尝试了以下代码:
Sub VBAWebScraping()
Dim IEObject As InternetExplorer
Set IEObject = New InternetExplorer
IEObject.Visible = True
IEObject.navigate Url:="https://www.kap.org.tr/tr/bildirim-sorgu"
Do While IEObject.Busy = True Or IEObject.readyState <> READYSTATE_COMPLETE
Application.Wait Now + TimeValue("00:00:01")
Loop
Dim KAPMainPage As HTMLDocument
Set KAPMainPage = IEObject.document
Dim Filters As IHTMLElementCollection
Set Filters = KAPMainPage.getElementsByClassName("filter-multi padding right")
Dim NotiType As IHTMLElement
Set NotiType = Filters.Item(2)
NotiType.Click
Dim cbxItems2 As IHTMLElementCollection
Set cbxItems2 = KAPMainPage.getElementsByClassName("multiSelectItem vertical")
Dim NButton As Object
Set NButton = cbxItems2.Item(925)
NButton.Click
IEObject.Visible = False
End Sub
我是 VBA 和所有这些东西的初学者,我被困住了。如果有人可以帮助我,我将不胜感激。
提前致谢
【问题讨论】:
-
你在做的事情看起来很痛苦,你有没有考虑过通过VBA的webdriver...guru99.com/excel-vba-selenium.html
-
在尝试选择
all notifications之前,您能否明确说明您所做的选择?看起来您想点击Former KAP Member Companies,然后在该下拉列表中选择一家公司。 -
首先感谢 cmets,我没想到会得到这么快的响应:) 我正在尝试做一组非常基本的操作。为了获得我正在寻找的搜索结果,我需要选择三个条件才能在单击下面的“搜索”按钮时获得结果。 1)我需要点击“通知类型”复选框下的“所有通知”。此选择触发第二个复选框(“这是主题”)。单击“所有通知”按钮后,“主题”中的值会显示出来。
-
选择两个科目后,我将设置时间间隔(希望我会尝试将其绑定到 excel 主页中的单元格值,所以每当我尝试查找不同日期间隔中的值时,我将能够控制该表单我的 excel 界面")
-
感谢@Ctznkane525 的建议,我会尝试的。
标签: jquery excel vba web-scraping click