(Python,Selenium)只有当属性满足条件时才能获取文本列表吗?

(Python,Selenium)只有当属性满足条件时才能获取文本列表吗?,python,selenium,selenium-webdriver,web-crawler,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Web Crawler,Selenium Chromedriver,我不确定我在标题中是否表达了我的观点 让我们先看看魔法密码 <tbody> <tr> <td> <p> <label> Want to Get these texts only if img exist </label> <img src="Some td tags don't conta

我不确定我在标题中是否表达了我的观点

让我们先看看魔法密码

<tbody>
  <tr>
    <td>
      <p>
        <label>
          Want to
          Get these texts
          only if img exist
        </label>
        <img src="Some td tags don't contain img" alt="alt"></img>
      </p>
    </td>
  </tr>

  <tr>
    <td>
      <p>
        <label>
          Want to
          Get these texts
          only if img exist
        </label>
      </p>
    </td>
  </tr>
...
...
...
</tbody>


想
收到这些短信吗
仅当img存在时

想 收到这些短信吗 仅当img存在时

... ... ...
正如上面所说,有很多(大约1000)套标签。在这些标签中,有时存在具有特定alt值的标签(它们都是相同的),而有时不存在(就像第二部分一样)

所以我要做的是,仅当标签文本有标签作为其同级标签时,才获取标签文本。到目前为止,还没有好结果

感谢任何人的帮助


(顺便说一句,我刚刚进入python世界,希望您能多介绍一下。提前谢谢!)

您可以使用下面的内容获取所需的文本值列表

labels = [label.text for label in driver.find_elements_by_xpath('//label[following-sibling::img[@alt="alt"]]')]

您可以尝试使用Xpath

这将只返回具有图像的标签。在这里,我们找到了位于图像前面的标签

labels = driver.find_elements_by_xpath("//tbody//../img/preceding-sibling::label")

显示您已经尝试过的内容。您可以使用selenium来
查找元素…
来查找所有
元素,然后在每个元素中,您可以
查找元素…
来获取子元素,并检查每个元素中是否有
img
,如果有,存储
标签
我尝试的是最愚蠢的事情。。。(比如…获取源代码并将其作为一个完整的文本进行分析…)(不好意思说)哇,谢谢你的快速帮助!我会试试的哦,我的上帝!它非常有效!我还是不相信有人能在我困了几个小时的时候解决这个问题!!我应该学的更多,只是学的更多!谢谢你,安德森!(我现在很高兴。)谢谢你来纳瓦拉苏!所以我可以同时使用后面和前面。有什么区别吗?