网站上第一个下拉菜单的CSS选择器。

问题描述 投票:0回答:1

在HTML页面中检查下拉的时候,我按Ctrl+F找到下拉的css选择器,是这样子的

div .wrapperDropdown

但我发现两个下拉列表有相同的css选择器.第一个有标签索引=1,第二个有标签索引=2如何引用第一个标签索引=1的下拉列表?

<div class="dropDownDiv">

<div class="wrapper-demo">
<div class="wrapperDropdown icon-downArrow active" tabindex="1">
<span>السعودية</span>
<ul class="dropdown" id="ulCountryList">
<li><a class="Country" countryid="1">مصر</a></li>
<li><a class="Country" countryid="13">السعودية</a></li>
<li><a class="Country" countryid="14">الإمارات</a></li>
<li><a class="Country" countryid="15">المغرب</a></li>
<li><a class="Country" countryid="17">تونس</a></li>
<li><a class="Country" countryid="18">العراق</a></li>
<li><a class="Country" countryid="19">البحرين</a></li>
<li><a class="Country" countryid="20">الكويت</a></li>
<li><a class="Country" countryid="21">الجزائر</a></li>
<li><a class="Country" countryid="23">سلطنةعمان</a></li>
<li><a class="Country" countryid="24">قطر</a></li>
<li><a class="Country" countryid="27">لبنان</a></li>
<li><a class="Country" countryid="28">الأردن</a></li>
</ul>
</div>
</div>

<div class="wrapper-demo">
<div class="wrapperDropdown icon-downArrow" tabindex="2">
<span>الرياض</span>
 <ul class="dropdown" id="ulCityList">
<li><a class="City" cityid="27">جدة</a></li>
<li><a class="City" cityid="28">الرياض</a></li>
<li><a class="City" cityid="29">مكة</a></li>
<li><a class="City" cityid="85">الجبيل</a></li>
<li><a class="City" cityid="86">الدمام</a></li>
<li><a class="City" cityid="87">الظهران</a></li>
<li><a class="City" cityid="88">الخبر</a></li>
<li><a class="City" cityid="89">المدينه</a></li>
</ul>

</div>
</div>
</div>

我可以解决选择第一个下拉菜单的问题,但我无法从中选择一个选项,而且在最后一行出现错误。

Dim ie          As New InternetExplorer
Dim html        As HTMLDocument
Dim drp         As HTMLFormElement
Dim x           As Long
Dim e, r As Long

ie.Visible = True
ie.Navigate "https://www.masrawy.com/Islameyat/Prayer-Times"
Do While ie.readyState <> READYSTATE_COMPLETE: DoEvents: Loop
Set html = ie.document

Set drp = html.querySelector("div .wrapperDropdown[tabindex='1']")

drp.selectedIndex = 2
excel vba css-selectors
1个回答
1
投票

假设默认是先活动,那么就用更快的类选择器的

.wrapperDropdown.active

否则,将你现有的缩短为

.wrapperDropdown[tabindex='1']

确保使用单引号或双引号的"。

要选择一个项目,因为它们是锚标签,你需要点击,并可以使用nth-of-type索引到li节点

html.querySelector(".wrapperDropdown[tabindex='1'] li:nth-of-type(2) a").Click
© www.soinside.com 2019 - 2024. All rights reserved.