【发布时间】:2018-08-14 02:43:27
【问题描述】:
使用 OpenQA.Selenium 时,我需要通过 CssSelector 查找元素()。 在折叠类或多个类的情况下,这很容易。
<div class="myClass andMore">
<div class="hey">
<div class "deeper">
inner text 1
</div>
</div>
<div class="hey bad">
<div class "deeper">
inner text 2
</div>
</div>
<div class="hey">
<div class "deeper">
inner text 3
</div>
</div>
</div>
要获得“内部文本 2”,我可以执行以下操作:
string innerTxt2 = browserClient.FindElement(By.CssSelector("myClass.andMore .hey.bad .deeper"))
.Text;
但是,我不明白如何选择 all “嘿” 除了 “嘿,糟糕”,然后在其“更深”的 div 中选择文本。
我想得到:
List<string> text1_and_text3 = browserClient.FindElement(By.CssSelector("myClass.andMore.hey:not('hey.bad').deeper)
.Select(el=>el.Text)
.ToList()"
但是,抛出异常,说“不是有效的选择器” 尝试关注 this post 和 this one 但没有运气
我需要纯粹使用 css 选择器查询来做到这一点(希望最小的 Linq / for-loops)
【问题讨论】:
标签: c# selenium-webdriver