首页 > 解决方案 > 具有前同级的多个值

问题描述

我可以使用前兄弟函数同时获得多个值吗

前兄弟姐妹::td="半场角球" 和 "角球"

HTML 代码

<tr>
    <td width="295" align="right" class="bg2">
        <div class="barBg2">
            <div class="info" style="width:82%;"> 
            </div>
        </div>
    </td>
    <td width="50" align="center" class="bg2">14</td>
    <td width="110" align="center" class="bg4">角球</td>
    <td width="50" align="center" class="bg2">3</td>
    <td width="295" align="left" class="bg2">
        <div class="barBg">
            <div class="info" style="width:18%;"></div>
        </div></td>
</tr>


<tr>
    <td width="295" align="right" class="bg1">
        <div class="barBg2">
            <div class="info" style="width:79%;"></div>
        </div>
    </td>
    <td width="50" align="center" class="bg1">11</td>
    <td width="110" align="center" class="bg3">半場角球</td>
    <td width="50" align="center" class="bg1">3</td>
    <td width="295" align="left" class="bg1">
        <div class="barBg">
            <div class="info" style="width:21%;"></div>
        </div>
    </td>

Python代码

texts = [td.text for td in driver.find_elements_by_xpath('//td[(preceding-sibling::td="半場角球" and "角球") and not(div)]')]

预期产出

3 3 

标签: pythonseleniumselenium-webdriverxpathwebdriver

解决方案


试试这个

//td[(preceding-sibling::td="半場角球" or preceding-sibling::td="角球") and not(div)]

推荐阅读