如何使用 Selenium WebDriver 在 <article> 中查找 class

How to Find class inside in <article>, using Selenium WebDriver

代码如下:

<div class="padding-tlb"> 
....Some code....
</div>
    <article class="non-article-login">
          <div class="one-fourth-percent columns-percent">&nbsp;</div>
          <div class="one-half-percent columns-percent">
            <div class="one-fourth-percent columns-percent">
              User ID
            </div>
     </div>
     </div>
        </article>

我想检查 class "one-fourth-percent columns-percent".

是否存在
   WebElement test = driver.findElement(By.className("one-fourth-percent columns-percent"));

但是不起作用,这是错误:

org.openqa.selenium.InvalidSelectorException:给定的选择器 1/4-percent columns-percent 无效或未生成 WebElement。发生以下错误: InvalidSelectorError:复合 class 名称不允许

但如果我尝试查找文章 class - 没问题。看起来,文章 class 之外的所有内容都有效。这很好:

  WebElement test = driver.findElement(By.className("padding-tlb"));

如何进入这篇文章 class,并检查值?

网络驱动程序中不允许使用复合 类。这是 InvalidSelectorError 告诉你的。您最好的选择是 select by cssSelector。类似于:

WebElement test = driver.findElement(By.cssSelector("one-fourth-percent.columns-percent"));

出现这个问题 Compound class names not permitted 因为 class name 有多个单词,您可以使用下面的 xpath

解决这个问题
driver.findElement(By.xpath("//article/div[contains(@class,'one-fourth-percent')]")

希望这有助于you.Kindly 如果您有任何疑问,请回来

谢谢大家,只有这个有用:

driver.findElement(By.xpath("//article/div[contains(@class,'one-fourth-percent')]"));