我正在尝试进行一些Web抓取以获得数据表。
数据存储在Google Play控制台中,因此您需要一个帐户才能登录网站。
我设法导航到所需的页面,但是表格结果存储在每日指标中,据我所知,这是无法更改的。
默认情况下,此表如下所示:
我用红色突出显示了问题所在。我需要单击该下拉列表,然后将值更改为* Todo”(表示 All )。激活此选项将使我以后可以导入所需的结果表。
重要提示:由于我不知道的任何原因(我不是开发人员),如果您使用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>
现在,我的VBA代码的相关部分:
Set objDivs = IEDoc.getElementsByClassName("OT1ABTB-N-d OT1ABTB-N-f OT1ABTB-N-a OT1ABTB-N-b")
For Each MiEle In objDivs(0).getElementsByTagName("div")
If MiEle.className = "OT1ABTB-Q-a OT1ABTB-P-a" Then
'code goes inside here, so I know I've grabbed the right DIV element. Just don't know what to do now
Stop
MiEle.Click 'this does not work
End If
Next MiEle
Stop
我知道我可以抓住正确的DIV元素,但是不知道如何显示下拉菜单,然后选择1个选项。
我需要选择显示 Todo 的选项。
我注意到,当我手动单击它时,HTML代码会更改,因为属性 aria-expanded 更改为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>
请注意,甚至还有一个名为aria-activedescendant="gwt-uid-520"
所以我只需要更改,结果表就可以显示所有内容。
请,如果您需要更多HTML代码或我的VBA代码更多,请提出要求。我还没有发布所有信息,只是我认为很重要的信息,但是如果您需要更多信息,请提出要求,我很乐意将其发布。
关于网站的链接,正如我所说的,是Google Play控制台,因此恐怕您需要一个帐户,但以防万一,它是这样的:
谢谢。