如何单击具有类似html代码的下拉框的第二个实例-Selenium VBA Excel

如何单击具有类似html代码的下拉框的第二个实例-Selenium VBA Excel,excel,vba,selenium,dropdown,Excel,Vba,Selenium,Dropdown,我试图从位于两个相似数据框中的两个下拉框下载两个xls文件。 第一个数据框: <div id="contain" style="height: 400px" data-highcharts-chart="2"> …several containers… <g class="highcharts-exporting-group" data-z-index="3</g> <

我试图从位于两个相似数据框中的两个下拉框下载两个xls文件。 第一个数据框:

<div id="contain" style="height: 400px" data-highcharts-chart="2">
…several containers…
<g class="highcharts-exporting-group" data-z-index="3</g>
<div id="containB2C" style="height: 400px" data-highcharts-chart="3">
…several containers…
<g class="highcharts-exporting-group" data-z-index="3</g>
第二个数据框:

<div id="contain" style="height: 400px" data-highcharts-chart="2">
…several containers…
<g class="highcharts-exporting-group" data-z-index="3</g>
<div id="containB2C" style="height: 400px" data-highcharts-chart="3">
…several containers…
<g class="highcharts-exporting-group" data-z-index="3</g>
我可以单击带有代码的第一个下拉框:

obj.FindElementByClass("highcharts-exporting-group").Click
然后选择项目:

obj.FindElementByXPath("//*[text()='Download XLS']").Click

但是,我无法使用类似代码单击第二个数据框中的第二个下拉框。如果您有任何关于如何操作的提示,将不胜感激。

由于两个下拉框相似,您可以获得一个列表或一组元素,而不是单个元素

下面只是一个演示,可能有语法错误。(对不起,我不擅长vba)

Dim标题作为对象
Set titles=bot.findElementsByClass(“highcharts导出组”)
标题中的每个项目
项目。单击
下一项

请接受并投票,如果它解决了您的问题,它将反过来帮助他人和我自己。如果不工作,请告诉我,我会再试一次。Peter Quan,谢谢你的提示。它会下拉第二个框,但当我使用obj.findelementbypath(“/*[text()='Download XLS']”选择“Download XLS”时,它会显示一个运行时错误11 ElementNotVisibleError元素,尽管该元素可见,但该元素不可交互。当我停止该过程并手动单击下拉项时,它就会工作。