python - XPath:在另一个 DIV 中获取给定条件的文本

标签 python selenium xpath

我正在尝试从这样的结构中获取文本:

...
  <div class="a">
    <div class="a">
      <div class="a">
        <div class="inner">
          <a>
            <div class="a">...</div>
            <div class="a">&gt;</div>
            <div class="important class">Some interisting text</div>
            <div class="a">...</div>
          </a>
          <a>
            <div class="a">
              <button class="criterion A">...</button>
            </div>
          </a>
        </div>
      </div>
    </div>
  </div>
  <div class="a">
    <div class="a">
      <div class="a">
        <div class="inner">
          <a>
            <div class="a">...</div>
            <div class="a"/>
            <div class="important class">Some interisting text</div>
            <div class="a">...</div>
          </a>
          <a>
            <div class="a">
              <button class="criterion B">...</button>
            </div>
          </a>
        </div>
      </div>
    </div>
  </div>

...

我想要的是:
从具有 class="important class"的 div 获取文本的路径,该路径匹配 button 具有 class="B" 属性的条件。

当我使用 selenium 时,我尝试了类似下面的方法来检索 XPath 列表:

list_xpath = driver.find_elements_by_xpath('.//div[@class="importante class" and .//button[@class="cirterion B"]]')

但它返回一个空列表。
要检索文本,我稍后会做:

for path in list_xpath:
   print(path.text)

给定另一个分支中的标准,获取这些文本的正确方法是什么?

最佳答案

试试这个 XPath:

//a[.//button[@class="cirterion B"]]/preceding-sibling::a//div[@class="importante class"]

关于python - XPath:在另一个 DIV 中获取给定条件的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54409896/

相关文章:

javascript - 如何设置 Protractor 配置以在 FireFox 上运行并启用 CORS

c# - Selenium IEdriver 问题 "WebDriverException : The HTTP request to the remote WebDriver server for URLxxxx timed out after 60 seconds."

jquery-ui - Selenium Test 测试 Jquery 效果(滑动、淡入淡出)

image - Selenium webdriver:我想单击https://www.msn.com/zh-cn/weather/today底部的“Like 1.3M”图像

java - 获取xsi的值:noNamespaceSchemaLocation (XPATH)

python - 如何使用 Python 在 chrome 中将文件下载到所需位置?

python - 替换字符串后缀

python - Scrapy - 尝试目录内的所有ID,无需递归链接搜索

python - 提高Python脚本速度: Multithreading or Multiple Instances?

java - Xpath Java 通过测试值获取元素