【发布时间】:2020-09-20 00:04:30
【问题描述】:
我正在尝试查找子 div 类标签的列表。当我在 Chrome 中检查元素时,我尝试过的以下 Xpath 没有选择我想要的所有元素。
在页面上显示了 5 个选项卡。我想将所有这 5 个元素放入一个列表中,这样我就可以使用 For Each 循环来迭代这些元素
我想找到所有这些标签
<div class="jsx-1429490698 Tab Tab_active Tab_sports">sports</div>
<div class="jsx-1429490698 Tab Tab_casino">casino</div>
<div class="jsx-1429490698 Tab Tab_liveCasino">live & real</div>
<div class="jsx-1429490698 Tab Tab_esports">esports</div>
<div class="jsx-1429490698 Tab Tab_vegas">vegas</div>
我的 Xpath 是
//div[@id='__next']//following-sibling::div[contains(@class, 'Tab')]
我将定位器标记为
[FindsBy(How.Xpath, Using="//div[@id='__next']//following-sibling::div[contains(@class, 'Tab')]")]
private IList<IWebElement> PromotionBrandTabsListElement {get; set;}
在 Chrome 中尝试此 Xpath 定位器时首先突出显示
<div class="jsx-1350237217 Tabs__container">
然后它突出显示
<div class="jsx-1429490698 Tab Tab_casino">casino</div>
我希望它突出体育、赌场、LiveCasino、电子竞技和维加斯 我想把所有这些放到一个列表元素中
HTML 结构是
<div id="__next">
<div class="jsx-2794910414 top">
<div class="jsx-133833352 Promotions__container">
<div class="jsx-1850983400 Title__container">
<div class="jsx-1850983400 Title__text--container">
<div class="jsx-1850983400 Title__text">Promotions</div>
</div>
</div>
<div class="jsx-1350237217 Tabs__container">
<div class="jsx-1429490698 Tab Tab_active Tab_sports">sports</div>
<div class="jsx-1429490698 Tab Tab_casino">casino</div>
<div class="jsx-1429490698 Tab Tab_liveCasino">live & real</div>
<div class="jsx-1429490698 Tab Tab_esports">esports</div>
<div class="jsx-1429490698 Tab Tab_vegas">vegas</div>
</div>
<div class="jsx-3650671054 jsx-3221847745 Promotion">
</div>
</div>
请问我如何获得体育、赌场、LiveCasino、电子竞技和拉斯维加斯标签。
谢谢
【问题讨论】:
标签: c# css selenium selenium-webdriver xpath