Html VBA网页抓取:点击可点击下拉菜单(非悬停)

Html VBA网页抓取:点击可点击下拉菜单(非悬停),html,excel,vba,web-scraping,Html,Excel,Vba,Web Scraping,我正在尝试做一些网页抓取来获得一个数据表 数据存储在Google Play控制台中,因此您需要一个帐户才能登录该网站 我设法导航到我想要的页面,但表结果存储在每日指标中,据我所知,这是无法更改的 默认情况下,此表如下所示: <div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="true&quo

我正在尝试做一些网页抓取来获得一个数据表

数据存储在Google Play控制台中,因此您需要一个帐户才能登录该网站

我设法导航到我想要的页面,但表结果存储在每日指标中,据我所知,这是无法更改的

默认情况下,此表如下所示:

<div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="true" aria-haspopup="true" aria-activedescendant="gwt-uid-520"><div class="OT1ABTB-Q-a OT1ABTB-P-i">6</div><div class="OT1ABTB-Q-a OT1ABTB-P-a"></div></div>

我用红色突出显示了我的问题所在。我需要单击该下拉列表,并将值更改为*Todo“(表示全部)。激活此选项后,我可以导入我需要的所有结果

重要提示:由于我不知道的任何原因(我不是开发人员),如果您使用Google Chrome或Internet Explorer访问网站,元素的类名都不相同。我使用的是Internet Explorer 11,因此我发布的所有HTML代码都是基于此

回到下拉菜单,并使用开发工具,我设法获得关于该下拉菜单的以下信息:

<div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="false" aria-haspopup="true"><div class="OT1ABTB-Q-a OT1ABTB-P-i">6</div><div class="OT1ABTB-Q-a OT1ABTB-P-a"></div></div>
我知道我得到了正确的DIV元素,但不知道如何显示下拉菜单,然后选择1选项

如果手动操作,下拉菜单如下所示:

我需要选择显示Todo的选项

我注意到,当我手动单击它时,HTML代码会发生更改,因为属性aria将更改扩展为
True
,然后HTML代码如下所示:

<div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="true" aria-haspopup="true" aria-activedescendant="gwt-uid-520"><div class="OT1ABTB-Q-a OT1ABTB-P-i">6</div><div class="OT1ABTB-Q-a OT1ABTB-P-a"></div></div>
6
注意,甚至还有一个新属性名为
aria activegenderant=“gwt-uid-520”

所以我只需要改变一下,结果表显示了一切

请,如果你需要更多的HTML代码或我的VBA代码,就要求它。我没有发布所有的,只是我认为重要的,但如果你需要更多的信息,就要求它,我会很高兴地发布

关于网站的链接,正如我所说,是谷歌游戏控制台,所以我恐怕你们需要一个帐户,但以防万一,它是这样的:

<div tabindex="0" class="OT1ABTB-Q-a OT1ABTB-P-h OT1ABTB-Yg-a" role="button" aria-expanded="true" aria-haspopup="true" aria-activedescendant="gwt-uid-520"><div class="OT1ABTB-Q-a OT1ABTB-P-i">6</div><div class="OT1ABTB-Q-a OT1ABTB-P-a"></div></div>


提前感谢。

您可以使用execScript通过javascript添加属性,并更改AriaThank@QHarr的值。您可以指导我如何找到用于更改值的函数调用吗?使用这些开发工具,我如何看到这些?您可以使用setAttribute来更改属性并删除属性。这些是javascript函数与ie.document.parentWindow.execScript“document.querySelector('mySelector').setAttribute('myattribute','myNewValue')一起应用;“ETCU应该认真考虑使用Python。这将是更容易实现的,如果您已经使用VBA达到了这一点,就不难在Python中重新编写代码。@简特斯对您的建议,但恐怕我不知道Python。我只是一个Excel和VBA中等水平的人。没有其他语言/知识。(甚至不是HTML/Javascript或任何lol)。无论如何,学习Python在我的任务清单上。你可以使用execScript通过javascript添加属性,并更改AriaThank@QHarr的值。你能告诉我如何找到调用什么函数来更改值吗?我如何使用这些开发工具看到这一点?你可以使用setAttribute来更改属性,并删除属性。这些重新使用ie.document.parentWindow.execScript“document.querySelector('mySelector').setAttribute('myattribute','myNewValue')应用的javascript函数;“ETCU应该认真考虑使用Python。这将是更容易实现的,如果您已经使用VBA达到了这一点,就不难在Python中重新编写代码。@简特斯对您的建议,但恐怕我不知道Python。我只是一个Excel和VBA中等水平的人。没有其他语言/知识。(甚至不是HTML/Javascript或任何lol)。无论如何,学习Python是我的任务清单。