excel - 网站上第一个下拉菜单的 CSS 选择器
问题描述
在 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
解决方案
假设默认值首先是活动的,然后使用更快的类选择器
.wrapperDropdown.active
否则,将现有的缩短到
.wrapperDropdown[tabindex='1']
确保使用单引号整数或加倍“。
要选择一个项目,因为它们是您需要单击的锚标签,并且可以使用 nth-of-type 来索引 li 节点
html.querySelector(".wrapperDropdown[tabindex='1'] li:nth-of-type(2) a").Click
推荐阅读
- spring-boot - Spring Vault - VaultResponse 工作,VaultResponseSupport
不是? - python - 在 Robot Framework report.html 的摘要信息中添加数据
- javascript - 将数组转换为对象javascript
- python - 如何阻止 gunicorn 在 Google Cloud 中自动关闭?
- git - 如何在接收后挂钩中获取存储库目录的绝对路径
- python - Django 聊天应用程序:WebSocket 连接到 wss://... 失败
- sql - 根据 FK 的连接对数据库表进行排序以确定创建顺序
- bash - Bash:Curl grep 结果作为字符串变量
- java - 需要一种基于标签拆分 XMLS 的 java 方式
- json - QT中如何分别实现JSON数组项?