当我使用Capybara和Selenium进行一些自动化测试时,我遇到了使用:not属性来选择没有类的元素的问题。
这是我们的元素“div”样本:
<div class="intro__card__container">
<div class="ic--card off" id="pic1"><img alt="Image1" src="/images/landing/intro/image1.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic2"><img alt="Image2" src="/images/landing/intro/image2.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic3"><img alt="Image3" src="/images/landing/intro/image3.jpg" class="ic--image"></div>
<div class="ic--card" id="pic4"><img alt="Image4" src="/images/landing/intro/image4.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic5"><img alt="Image5" src="/images/landing/intro/image5.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic6"><img alt="Image6" src="/images/landing/intro/image6.jpg" class="ic--image"></div>
<div class="ic--card" id="pic7"><img alt="Image7" src="/images/landing/intro/image7.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic8"><img alt="Image8" src="/images/landing/intro/image8.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic9"><img alt="Image9" src="/images/landing/intro/image9.jpg" class="ic--image"></div>
<div class="ic--card off" id="pic10"><img alt="Image10" src="/images/landing/intro/image10.jpg" class="ic--image"></div>
</div>我使用这个选择器“.I:not(‘.off’)”来选择没有'off‘类的元素。它适用于jQuery,但在Selenium测试中无效。那么,我如何选择没有“.off”类的元素呢?
发布于 2016-02-09 01:32:08
好的-再看一遍“..ic-卡: not (‘.off’)”在.off周围的“s”不是一个有效的css选择器,因为.off不会被引用为类选择器。
find(".ic--card:not(.off)") 应该工作得很好
发布于 2016-02-09 02:37:24
您可以使用:
find("div[class='ic--card']")find("//div[contains(@class,'ic--card') and not(contains(@class,'off'))]")https://stackoverflow.com/questions/35281087
复制相似问题