复合类的CssSelector无法工作,可能是什么原因?

时间:2017-05-29 10:02:37

标签: java selenium xpath selenium-webdriver css-selectors

在www.parcelhero.com上我试图抓住以下内容 Webelement:

<div class="bs-container btn-group bootstrap-select show-tick show-menu-arrow open" style="top: 315.2px; left: 241px; width: 179px;">
使用

driver.findElement(By.cssSelector("bs-container.btn-group.bootstrap-select.show-tick.show-menu-arrow.open"));

但是我得到了

  

&#34;没有这样的元素:无法找到元素:{&#34;方法&#34;:&#34; css   选择&#34;&#34;选择器&#34;:&#34; bs-container.btn-group.bootstrap-select.show-tick.show-menu-arrow.open&#34;}&#34; < / p>

但如果我使用

driver.findElement(By.xpath("//div[@class='bs-container btn-group bootstrap-select show-tick show-menu-arrow open']"))

有效。为什么呢?

3 个答案:

答案 0 :(得分:1)

bs-container也是一个类

By.cssSelector("bs-container") // without dot

表示您正在寻找元素标记<bs-container>

By.cssSelector(".bs-container") // with dot

表示您正在寻找类bs-container的元素。

使用

driver.findElement(By.cssSelector(".bs-container.btn-group.bootstrap-select.show-tick.show-menu-arrow.open"));

答案 1 :(得分:0)

driver.findElement(By.classname(".bs-container"));

答案 2 :(得分:0)

尝试下面的cssselector

driver.findElement(By.cssSelector(&#34; div.bs-container.btn-group.bootstrap-select.show-tick.show-menu-arrow.open&#34))