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