查找元素Selenium驱动程序java在上使用xpath

查找元素Selenium驱动程序java在上使用xpath,java,selenium,Java,Selenium,嗨,我有html代码,并使用selenium驱动程序进行ui测试 <div class = all> <div class = "abc"> <strong> 111 </strong> <span> a </span> <div class = "abc"> <strong>

嗨,我有html代码,并使用selenium驱动程序进行ui测试

      <div class = all>
         <div class = "abc">
          <strong> 111 </strong>
           <span> a </span>

           <div class = "abc"> 
             <strong> 222 </strong>
              <span> b</span>
             </div>
           </div>
      </div>
我得到了全部,但我只需要一个元素,只有一个(111)。请帮助我,请尝试:

findElement(By.cssSelector("div[class*='all'] > div ")).getText();

使用xpath应该非常简单:

 findElement(By.xpath("//div[@class='abc'][1]")).getText();

111
A.
222
B
答案是111
//div[contains(@class,“all”)]//span[contains(text,“a”)]/前面的同级::strong

试试下面提到的
xpath

//div[@class='abc']/strong[text()= '111']

xpath解释:-使用
标记的
属性,继续使用
标记和
文本
方法。

是!这应该很简单,但不起作用,并且获取异常无法找到元素为什么所有元素都在这里没有引号?很抱歉,这是我的错误,请尝试findelelement(By.xpath(“//div[@class='abc'][1]”);很好,我已经编辑了我的答案。请标记它已应答。
<div class = all>
         <div class = "abc">
          <strong> 111 </strong>
           <span> a </span>

           <div class = "abc"> 
             <strong> 222 </strong>
              <span> b</span>
             </div>
           </div>
      </div>
Answer to get 111
//div[contains(@class,"all")]//span[contains(text,"a")]/preceding-sibling::strong
//div[@class='abc']/strong[text()= '111']