Xpath Selenium 麻烦

Xpath Selenium trouble

谁能帮帮我?我尝试将 Firepath 用于正确的 Xpath,但是它给我的代码在我看来是不正确的。示例中的第一行是提供的行。

.//*[@id='content']/div/div/div[1]/h2/span

<div id="content" class="article">
  <h1>News</h1>
  <div>
    <div>
      <div class="summary">
        <h2>
<span>9</span>
// this should be the correct xpath i think 
_driver.findElement(By.xpath("//*div[@id='content']/div/span.getText()"));

这里我想检查中间的文本是否大于或等于 1

另一个是:

.//*[@id='content']/div/div/div[3]

<div id="content" class="article">
  <h1>News</h1>
  <div>
    <div>
      <div class="summary">
        <div class="form fancy">
          <div class="common results">

这里我想查看divclass个共同结果是否已经产生,1项等于1个共同结果

我建议您使用:

//div[@id='content']/div/div/div/h2/span/text()

注意:您分享的 html 代码格式不正确。我建议您使用 http://www.xpathtester.com/xpath (to fix the code) and http://codebeautify.org/Xpath-Tester 提前测试代码和 xpath(以测试您的 xpath)

要检索跨度文本,您可以使用此

String spanText=driver.findElement(By.xpath("//div[@id='content']/div/div/div/h2/span")).getText();
System.out.println(spanText);

从第二个问题来看我不是那么多clear.You可以得到class这样的名字,如果不是你的解决方案请解释一下

String className=driver.findElement(By.xpath("//*[@id='content']/div/div/div/div/div")).getAttribute("class");
System.out.println(className);